Springboot java構成注記注入Bean
1773 ワード
サービス
よびだし
これは1つのXML構成に相当し,2つのBeanを注入した.
ロード方法://プロファイルのスキャン方法
//Java構成の方法
@Configuration注記を使用すると、現在のクラスはjava構成クラスであることが示されます.これは、このクラスに0つ以上の@bean注記がある可能性があることを意味します.ここでは、すべてのbeanが2つあるため、パケットスキャンは使用しません.このクラスでは別の注入方法が定義されています.上記のように、1つのBeanで別のBeanを呼び出し、このBeanが宣言されている限り、他のクラスでパラメータで注入することができます.
これがjavaのBeanの構成です
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の構成です