springioc:
* spring容器中的bean建立
* 三種方案 面試題
* 利用預設的建構函式
* 利用靜態工廠方法
* 利用例項工廠方法
* 建立物件的時機
* 預設情況下,在spring啟動的時候,建立納入spring容器中所有的bean
在spring容器啟動的時候,可以檢查錯誤
但是如果bean的屬性中有資料,會過早的載入到記憶體中,所以如果bean中有資料
應該把資料的物件的宣告放在方法中
* 如果在spring的配置檔案中,有lazy-init為true,則context.getbean("beanid")時
才要建立物件
缺點:在spring容器啟動的時候,是檢驗不出錯誤的
* 物件的作用域
* 在配置檔案中,scope為
"singleton"
* 預設值
* spring產生的bean只有乙個例項
* 處於單例模式的bean的建立、初始化、銷毀都是受spring容器管理的
* 在容器關閉的時候執行銷毀工作
"prototype"
* 多例
* spring容器負責該bean的建立、初始化,但是銷毀工作程式設計師做
* 無論該bean的lazy-init為什麼值,都在context.getbean時建立物件
* 如果該bean中有資源物件,手動關閉
* init和destroy方法
init在構造器執行完畢之後執行
destroy方法在spring關閉的時候執行
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...
Spring容器中Bean的生命週期
例項化 設定屬性值 如果實現了beannameaware介面,呼叫setbeanname設定bean的id或者name 如果實現beanfactoryaware介面,呼叫setbeanfactory 設定beanfactory 呼叫beanpostprocessor的預先初始化方法 呼叫initia...