[英]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.