我正在阅读春季文档。我想知道这两个例子之间有什么区别。我需要创建Bar @bean吗?
public class AppConfig {
@Bean
public Foo foo() {
return new Foo(bar());
}
@Bean
public Bar bar() {
return new Bar();
}
}
VS
public class AppConfig {
@Bean
public Foo foo() {
return new Foo(bar());
}
public Bar bar() {
return new Bar();
}
}
答案 0 :(得分:3)
在第一个中,Bar是一个Spring bean,而在第二个中,它不是。
因此,如果Bar必须与其他Spring bean一起自动装配,或者它有Spring注释(如Transactional等),第二个示例将无法按预期工作:Bar实例是一个简单的POJO,Spring是不知道。