春のレビュー: (59) 一緒に使用される注釈と修飾子のマーキング

1. インターフェースを定義する

package cn.edu.tju.domain;

public interface MovieCatalog {
}

2. 手順1でインターフェースの実装クラスを定義します。

package cn.edu.tju.domain;

public class SimpleMovieCatalog implements MovieCatalog{
}

3. マーカー注釈を定義する

package cn.edu.tju.anno;

import org.springframework.beans.factory.annotation.Qualifier;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Qualifier
public @interface Offline {

}

4. Bean を定義し、手順 1 でインターフェイスを挿入し、マーカー アノテーションを使用します。

package cn.edu.tju.anno;

import cn.edu.tju.domain.MovieCatalog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class MovieRecommender {
    @Autowired
    @Offline
    public MovieCatalog offlineCatalog;

}


5. 設定ファイルBeans18.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
    http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">
    <bean class="cn.edu.tju.domain.SimpleMovieCatalog">
        <qualifier type="Offline"/>
    </bean>

    <context:component-scan base-package="cn.edu.tju.anno"/>

</beans>

6.メインカテゴリー

package cn.edu.tju;

import cn.edu.tju.anno.MovieRecommender;
import cn.edu.tju.study.service.anno.domain.MyValueCalculator;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Start18 {
    public static void main(String[] args) {
        ApplicationContext applicationContext = new
                ClassPathXmlApplicationContext("beans18.xml");
        MovieRecommender movieRecommender = applicationContext.getBean("movieRecommender", MovieRecommender.class);
        System.out.println(movieRecommender.offlineCatalog);

    }
}

おすすめ

転載: blog.csdn.net/amadeus_liu2/article/details/133253125