spring容器中的bean建立

2021-06-19 17:56:28 字數 828 閱讀 1841

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