一、spring裝配bean的過程
1. 例項化;
2. 設定屬性值;
3. 如果實現了beannameaware介面,呼叫setbeanname設定bean的id或者name;
4. 如果實現beanfactoryaware介面,呼叫setbeanfactory 設定beanfactory;
6. 呼叫beanpostprocessor的預先初始化方法;
7. 呼叫initializingbean的afterpropertiesset()方法;
8. 呼叫定製init-method方法;
9. 呼叫beanpostprocessor的後初始化方法;
spring容器關閉過程
1. 呼叫disposablebean的destroy();
2. 呼叫定製的destroy-method方法;
spring bean載入順序指定方式之一
在某些情況下,我們在容器啟動的時候做一些事情,舉個例子,載入快取等。此時我們會希望某個bean先被載入並執行其中的afterpropertiesset方法。因為spring預設是通過context component scan base package配置中類的全名進行公升序載入的,因此,如果希望某...
Spring bean 載入執行順序例項解析
問題 有乙個bean為a,乙個bean為b。想要a在容器例項化的時候的乙個屬性name賦值為b的乙個方法funb的返回值。如果只是在a裡單純的寫著 private b b private string name b.funb 會報錯說nullpointexception,因為這個時候b還沒被set進...
spring bean載入過程
spring通過資源載入器載入相應的xml檔案,使用讀取器讀取資源載入器中的檔案到讀取器中,在讀取過程中,解析相應的xml檔案元素,轉化為spring定義的資料結beandefinition,把相應的beandefinition註冊到登錄檔中。登錄檔中包含的beandefinition的資料結構,沒...