在使用基于Java的配置时,Spring如何阻止对bar()的第二次调用?
我想知道编译时注释处理还是通过代理方法?
@Configuration
public class AppConfig {
@Bean
public Foo foo() {
return new Foo(bar());
}
@Bean
public Foo foo2() {
return new Foo(bar());
}
@Bean
public Bar bar() {
return new Bar();
}
}
答案 0 :(得分:0)
Spring不会“阻止”调用bar()
。
相反,在启动时,spring会生成@Bean
标记方法的列表,然后调用每个方法一次。
如果您愿意,可以拨打bar()
一百次。
然而春天;只会打电话一次。