一、初始化和銷毀
1、專案結構如下:
2、新建replyservice類
package3、新建beans.xml文件,init-method指定初始化時執行方法,destroy-method指定bean銷毀時執行方法hjp.spring.beanlifecycle;
public
class
replyservice
public
void
myinit()
public
void
mydestroy()
}
注意:銷毀方法要求:(1)、必須是單例的(2)、必須關閉容器
xml version="1.0" encoding="utf-8"4、新建測試類?>
<
beans
xmlns
=""xmlns:xsi
=""xsi:schemalocation
=" /spring-beans.xsd"
>
<
bean
id="replyserviceid"
class
="hjp.spring.beanlifecycle.replyservice"
init-method
="myinit"
destroy-method
="mydestroy"
>
bean
>
beans
>
package二、後處理beanhjp.spring.beanlifecycle;
import
org.junit.test;
import
import
public
class
@test
public
void
demo1()
}
1、spring 後處理bean提供一種機制,可以對例項物件進行修改的機制
2、後處理bean使用
(1)、編寫實現類,實現介面beanpostprocessor
package(2)、將實現類配置到spring容器,spring容器在建立bean時,都是自動使用後處理beanhjp.spring.beanlifecycle;
import
org.springframework.beans.bean***ception;
import
org.springframework.beans.factory.config.beanpostprocessor;
public
class mybeanpostprocessor implements
beanpostprocessor
@override
public object postprocessafterinitialization(object bean, string beanname) throws
bean***ception
}
xml version="1.0" encoding="utf-8"?>
<
beans
xmlns
=""xmlns:xsi
=""xsi:schemalocation
=" /spring-beans.xsd"
>
<
bean
id="replyserviceid"
class
="hjp.spring.beanlifecycle.replyservice"
init-method
="myinit"
destroy-method
="mydestroy"
>
bean
>
<
bean
class
="hjp.spring.beanlifecycle.mybeanpostprocessor"
>
bean
>
beans
>
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...