[英]Spring load/runs every beans from Configuration class before any bean is used in main?
确实,在main中使用任何bean之前,Spring会从Configuration类加载/运行每个bean。 我们得到了一些抽象的东西:
@Configuration
public class Config {
@Bean
public String aha() {
System.out.println("ss1s");
return "sss";
}
}
总的来说,我只有这个:
public static void main(String[] args) {
// TODO Auto-generated method stub
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
}
我没有在main中使用任何bean,但是在运行后,在控制台中我有“ ss1s”。 那是正确的行为吗?
是真的。 默认情况下,Spring急切地初始化所有bean。
要延迟初始化bean,可以使用@Lazy
批注,如下所示
@Bean
@Lazy
public String aha() {
...
}
Bean在默认情况下不是惰性的。 但是,就注释而言,当前似乎不支持注释。 http://forum.springsource.org/showthread.php?t=62931
虽然Spring的下一版本似乎已经在商店中提供了一些东西http://jira.springframework.org/browse/SJC-263
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.