Springboot java構成注記注入Bean

1773 ワード

サービス
public class FunctionService {
    public String sayHello(){
        return "Hello" + word + "!";
    }
}

よびだし
public class UseFunctionService{
    FunctionService functionService;
    // 
    public void setFunctionService(FunctionService functionService){
        this.functionService = functionService;
    }
    // , sayHello 
    public String sayHello(){
        return functionService.sayHello();
    }
}

これは1つのXML構成に相当し,2つのBeanを注入した.
@Configuration
public class JavaConfig{
    // get , , FunctionService Bean 
    @Bean //2
    public FunctionService functionService (){
        return new FunctionService();
    }

    @Bean
    public UseFunctionService useFunctionService(){
        // 
        UseFunctionService useFunctionService = new useFunctionService();
        // useFunctionService FunctionService 
        useFunctionService.setFunctionService(functionService ());
        // useFunctionService 
        return useFunctionService;
    }   
}
java spring4.X Bean JavaConfig
ロード方法://プロファイルのスキャン方法
ApplicationContext application = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-solr.xml");

//Java構成の方法
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);

@Configuration注記を使用すると、現在のクラスはjava構成クラスであることが示されます.これは、このクラスに0つ以上の@bean注記がある可能性があることを意味します.ここでは、すべてのbeanが2つあるため、パケットスキャンは使用しません.このクラスでは別の注入方法が定義されています.上記のように、1つのBeanで別のBeanを呼び出し、このBeanが宣言されている限り、他のクラスでパラメータで注入することができます.

###現在のメソッドFunctionServiceの戻り値がBeanであることを@Bean注記で宣言します。Beanの名前はメソッド名です。


これがjavaのBeanの構成です