我正在使用注释使用Java spring配置。
如果我有一个类似于
的配置类A.@Configuration
public class A{
@Bean(name="hello")
public hello(){
return new Hello();
}
@Bean(name="greeting")
public greeting(){
return new Greeting(hello());
}
所以这里问候bean作为依赖项获得hello。
如果我要在另一个配置类中声明问候bean,请说如何B,并从A导入配置
@Configuration
public class A{
@Bean(name="hello")
public hello(){
return new Hello();
}
}
@Configuration
@Import(A.class)
public class B{
@Bean(name="greeting")
public greeting(){
// what do i write here ?
// so that it is equivalent to
// return new Greeting(hello());
}
答案 0 :(得分:1)
以下应该是你所需要的。 请注意,我已将Hello bean注入方法参数。春季DI将照顾其余部分。
@Configuration
@Import(A.class)
public class B{
@Bean(name="greeting")
public greeting(Hello hello){
return new Greeting(hello);
}
答案 1 :(得分:0)
回答我自己的问题:
应该可以在B中使用@Autowired注释。
@Configuration
@Import(A.class)
public class B{
@Autowired
Hello hello;
@Bean(name="greeting")
public greeting(){
return new Greeting(hello);
}