2015-12-04 39 views
0

因此,何時執行@configuration類,它的範圍是什麼?何時執行spring @ configuration類?

這是每個會話一個嗎?每個應用程序一個?但是我的下一個問題是執行後bean返回到哪裏?也許這段代碼會幫助你更好地理解我的意思。

@Configuration 
@PropertySource("classpath:application.properties") 
public class AppConfig { 
    @Autowired 
    Environment env; 

    @Bean 
    public DBConnection testBean() { 
    DBConnection testBean = new DBConnection(); 
     testBean.setName(env.getProperty("testbean.name")); 
     return testBean; 
    } 
} 

那麼這個DBConnection何時或多或少會有效/啓動?

+0

我建議你在春季瞭解Bean的生命週期。 Spring參考:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html或者這個:http://javabeginnerstutorial.com/spring-framework-tutorial/java-spring -bean生命週期/ – jny

回答

2

A @Configuration帶註解的類就是這樣,一個類用@Configuration註解註解。它本身不做任何事情。

您需要一些評估和處理該類。這是通過引導完成的。您有三個選項

  1. AnnotationConfigApplicationContext實例註冊該類。
  2. 在XML配置中將類指定爲<bean>,並使用相應的啓用XML的ApplicationContext
  3. 將該類放置在組件掃描的包中。

這些選項在javadoc中有詳細說明,更詳細地說,在Spring IOC documentation中。

豆你在@Configuration類聲明只要他們的對應範圍。您的testBean bean具有單身作用域,因此其壽命與包含ApplicationContext一樣長。