Spring bean生命週期

2021-10-01 22:32:58 字數 1131 閱讀 5110

我們先寫乙個student類,如下

public

class

student

public

intgetage()

public

void

setage

(int age)

public

void

init()

public

void

destroy()

public

student()

}

然後我們在xml檔案中 寫乙個bean標籤

="live.sunhao.vo.student" id=

"student" destroy-method=

"destroy" init-method=

"init" p:age=

"12"

>

<

/bean>

init-method:在設定bean的屬性後執行的自定義初始化方法,注意:①、該方法不能有引數;②、物件每建立一次就會執行一次該方法;

destroy-method:該引數中的方法只有bean標籤屬性scope為singleton且關閉spring ioc容器時才會被呼叫,注意:該方法不能有引數

最後我們來寫乙個test類來測試一下bean的生命週期:

public

class

test

}

我們可以來看一下控制台的輸出:

通過構造方法或工廠方法建立bean物件(控制台中輸出構造方法,即呼叫構造方法)

為bean屬性賦值(控制台中輸出setter,即呼叫setage方法)

呼叫 bean 的初始化方法,即init-method指定方法(控制台中輸出init,即呼叫bean的初始化方法)

bean例項化完畢,可以使用(控制台中輸出為12)

容器關閉, 呼叫 bean 的銷毀方法,即destroy-method指定方法(控制台中輸出destroy)。

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