SpringBean的生命週期

2021-08-01 02:51:53 字數 2695 閱讀 8120

public

class

bookservice

implements

private string name;

public

bookservice()

public

intadd()

public

void

setbeanname(string name)

public

void

}public

void

init()

public

void

destory()

public string getname()

public

void

setname(string name)

}

public

class

mybeanpostprocessor

implements

beanpostprocessor

public object postprocessafterinitialization(object bean, string beanname) throws bean***ception

}

id="bookservice"

name="bookservice"

class="com.njust.learning.spring.service.bookservice"

init-method="init"

destroy-method="destory">

name="name"

value="spring實戰">

property>

bean>

class="com.njust.learning.spring.service.mybeanpostprocessor">

bean>

public

class testbookservice

}

執行的結果是:

**第一步:初始化bookservice**

五月 14, 2017

8:43:30 下午 org.springframework

.beans

.factory

.support

.defaultlistablebeanfactory preinstantiatesingletons

資訊: pre-instantiating singletons in org.springframework

.beans

.factory

.support

.defaultlistablebeanfactory

@614c97d4: defining beans [bookservice,com

.njust

.learning

.spring

.service

.mybeanpostprocessor

#0]; root of factory hierarchy

***第二步:對bookservice進行初始化name屬性**

**第三步:實現了beannameaware介面,呼叫setbeanname方法,設定beanname為id值**

**第五步:呼叫postprocessbeforeinitialization**

**第六步:呼叫init-method指定的方法**

**第七步:呼叫postprocessbeforeinitialization**

增加了一本圖書:spring實戰

五月 14, 2017

8:43:30 下午 org.springframework

.context

.support

資訊: closing org.springframework

.context

.support

@154d5994: startup date [sun may 14

20:43:29 cst 2017]; root of context hierarchy

五月 14, 2017

8:43:30 下午 org.springframework

.beans

.factory

.support

.defaultsingletonbeanregistry destroysingletons

資訊: destroying singletons in org.springframework

.beans

.factory

.support

.defaultlistablebeanfactory

@614c97d4: defining beans [bookservice,com

.njust

.learning

.spring

.service

.mybeanpostprocessor

#0]; root of factory hierarchy

**第七步:呼叫destory-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...