例項化;
設定屬性值;
如果實現了beannameaware介面,呼叫setbeanname設定bean的id或者name;
如果實現beanfactoryaware介面,呼叫setbeanfactory 設定beanfactory;
呼叫beanpostprocessor的預先初始化方法;
呼叫initializingbean的afterpropertiesset()方法;
呼叫定製init-method方法;
呼叫beanpostprocessor的後初始化方法;
spring容器關閉過程
1. 呼叫disposablebean的destroy();
2. 呼叫定製的destroy-method方法;
建立lifecyclebean 類,**如下
import org.springframework.beans.bean***ception;
import org.springframework.beans.factory.beanfactory;
import org.springframework.beans.factory.beanfactoryaware;
import org.springframework.beans.factory.beannameaware;
import org.springframework.beans.factory.disposablebean;
import org.springframework.beans.factory.initializingbean;
public
class
lifecyclebean
implements
initializingbean,
private string str = "default";
public
lifecyclebean()
public
lifecyclebean(string str)
public string getstr()
public
void
setstr(string str)
public
void
init()
public
void
cleanup()
public
void
afterpropertiesset() throws exception
public
void
destroy() throws exception
public
void
}public
void
setbeanfactory(beanfactory arg0) throws bean***ception
public
void
setbeanname(string arg0)
}
建立配置檔案(init.xml),**如下
"lifecyclebean"
class="org.ifly.edu.spring.bean.init.lifecyclebean"
init-method="init" destroy-method="cleanup">
"str"
value="hello"/>
public
static
void
main(string args)
執行結果:
construct lifecyclebean*****
setstr*****
mybeanpostprocessor postprocessbeforeinitialization bean 『lifecyclebean
afterpropertiesset*****
init mtd*****
****mybeanpostprocessor postprocessafterinitialization bean 『lifecyclebean
***********org.ifly.edu.spring.bean.init.lifecyclebean@11dba45 hello
destroy*****
cleanup mtd*****
disposablebean inte***ce….123
spring容器中的bean建立
springioc spring容器中的bean建立 三種方案 面試題 利用預設的建構函式 利用靜態工廠方法 利用例項工廠方法 建立物件的時機 預設情況下,在spring啟動的時候,建立納入spring容器中所有的bean 在spring容器啟動的時候,可以檢查錯誤 但是如果bean的屬性中有資料,...
Spring容器中Bean的lazy init屬性
在spring容器中新增兩個物件 testbean class com.fhx.testbean testbean class com.fhx.testbean lazy init false lazy init 設定只對scop屬性為singleton的bean起作用 lazy init fals...
Spring中利用容器得到Bean物件
在 spring 中提供了兩種方法用來載入配置檔案的資訊和得到我們需要的 bean 這就是 beanfactory 介面和介面 下面分別來介紹如何得到 bean物件 1 beanfactory 方式,spring 為我們提供了很多易用的 beanfactory 介面實現,其中 xmlbeanfact...