spring bean的生命週期

2021-09-25 13:53:55 字數 1525 閱讀 4821

}先呼叫構造方法,然後設定引數後呼叫afterpropertiesset,容器銷毀呼叫destroy

persion

afterpropertiesset:abd

abddestroy

@lazy使用的時候才會初始化物件

如果是單例子:

protected object docreatebean(final string beanname, final rootbeandefinition mbd, final @nullable object args)

throws beancreationexception {

先初始化配置檔案(本身也是乙個bean)

然後初始化beandefinition(spring容器啟動的過程中,會將bean解析成spring內部的beandefinition結構

對於beandefinition的註冊,是將beandefinition直接放入了map中,以beanname為key。但不僅僅如此,**如下:

// 註冊beandefinition

this.beandefinitionmap.put(beanname, beandefinition);

先構造bean

assertbeanfactoryactive

1 populatebean==>beanpostprocessor(建立前後處理器)

2 initializebean==>afterpropertiesset==>

懶載入實際上用的是aop通過**類去獲取。

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...