簡體   English   中英

Spring在Main中使用任何bean之前從Configuration類加載/運行每個bean?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM