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關閉的時候執行