生命週期:定義,初始化,使用,銷毀
一.初始化:
方法1.實現org.springframework.beans.foctory.initializingbean介面,覆蓋afterpropertiesset方法。系統會自動查詢afterpropertiesset方法,執行其中的初始化操作
方法2.配置init-method
例如設定bean中init-method=」init」那麼在初始化過程中就會呼叫相應class指定類的init()方法進行初始化工作
二 銷毀(與初始化類似)
方法1.實現org.springframework.beans.foctory.disposablebean介面,覆蓋destory方法。
方法2.配置destory-method
三 配置全域性初始化、銷毀方法(屬於預設配置,參考截圖)
注意:
當三種方式同時使用時,全域性(預設的)初始化銷毀方法會被覆蓋。
另外實現介面的初始化/銷毀方式會先於配置檔案中的初始化/銷毀方式執行。
即使沒有以上三種初始化方法也是可以編譯執行的
Spring Bean生命週期
1.容器尋找bean的定義資訊並且將其實例化。2.受用依賴注入,spring按照bean定義資訊配置bean的所有屬性。3.如果bean實現了beannameaware介面,工廠呼叫bean的setbeanname 方法傳遞bean的id。4.如果bean實現了beanfactoryaware介面,...
Springbean生命週期
springbean的完整生命週期大致如下 1 首先例項化 beanfactorypostprocessor的實現類,執行它的postprocessorbeanfactory方法 2 例項化beanpostprocessor 的實現類 3 例項化 instantiationawarebeanpost...
spring bean生命週期
defaultlistablebeanfactory bean工廠類 1 dogetbean 2 transformedbeanname 獲取beanname 過濾 和別名替換 3getsingleton 從單例快取中獲取例項 這裡涉及到迴圈依賴問題 4getparentbeanfactory 獲取...