springBean 生命週期

2021-09-01 13:23:52 字數 856 閱讀 5474

例項化: 就是我們new乙個物件的時候

呼叫反射設定屬性的值:使用依賴注入,spring按照bean定義資訊配置bean所有屬性

呼叫 aware 方法: 如果實現了aware 相關的介面,比如org.springframework.beans.beannameaware,這個介面實現後,spring 可以根據配置檔案的 的 id ,和對應的值,來給物件賦值。相同的還有org.springframework.beans.factory.beanfactoryaware只不過他返回的是乙個工廠。

如果 bean 實現了org.springframework.beans.factory.config.beanpostprocessors,那麼會呼叫他的postprocessbeforeinitialization()方法

如果bean定義檔案中定義init-method,那麼會呼叫bean的initbean()方法。

同上述步驟4,如果實現了 beanpostprocessors 介面那麼會呼叫postprocessafterinitialization()方法,到這一步為止,bean 已經建立完畢

當容器關閉的時候 如果實現了disposablebean方法,會呼叫destroy()方法。

最後如果配置了destroy-method屬性,會自動呼叫其配置的銷毀方法

這裡有一篇講的很好的文章:

Spring Bean生命週期

1.容器尋找bean的定義資訊並且將其實例化。2.受用依賴注入,spring按照bean定義資訊配置bean的所有屬性。3.如果bean實現了beannameaware介面,工廠呼叫bean的setbeanname 方法傳遞bean的id。4.如果bean實現了beanfactoryaware介面,...

spring bean生命週期

生命週期 定義,初始化,使用,銷毀 一.初始化 方法1.實現org.springframework.beans.foctory.initializingbean介面,覆蓋afterpropertiesset方法。系統會自動查詢afterpropertiesset方法,執行其中的初始化操作 方法2.配...

Springbean生命週期

springbean的完整生命週期大致如下 1 首先例項化 beanfactorypostprocessor的實現類,執行它的postprocessorbeanfactory方法 2 例項化beanpostprocessor 的實現類 3 例項化 instantiationawarebeanpost...