spring ioc主要分為兩個過程:ioc容器初始化;依賴注入;
ioc容器初始化主要分為三個過程:
第乙個過程,resource定位過程,這個過程如能主要是beandefintion的資源定位,主要就是找到定義bean的檔案。
第二個過程,beandefinition的載入過程,這個載入過程就是把使用者定義好的bean表示成ioc內部的資料結構,該資料結構就是beandefinition。其實就是pojo物件在ioc容器中的抽象。該過程就是講使用者事先設定好的bean定義資訊載入到乙個所謂beandefinition的資料結構中。
第三個過程,向ioc容器註冊這些beandefinition,該過程主要是講beandefinition注入到乙個hashmap中去。
依賴注入:
ioc容器初始化後說明已經在ioc容器中建立了beandefinition的資料對映(hashmap),依賴注入主要是在使用者第一次向ioc容器中所要bean時觸發,當然如果在beandefinition資訊中設定控制屬性lazy-init那麼會在初始化中完成注入,注入的過程是通過jvm的反射或者cglib來物件bean進行例項化。
IOC實現原理
ioc 也就是 控制反轉 了,不過更流行的叫法是 依賴注入 di dependency injection 聽起來挺高深,其實實現起來並不複雜。下面就看看如何來實現這個輕量級 ioc 框架。從例項出發,先看看以下 action bean public class productaction exte...
IOC容器的實現
面試的時候,偶爾會遇到讓談談ioc容器的問題,在這裡做乙個簡要的整理。這個問題從畢業到現在時不時的出現,答案也一次一次的被重新整理。因為個人理解有限,僅從三個階段去闡述,同時歡迎各位拍磚。size medium b 階段一 概念的闡述 b b 階段二 從實現的角度去闡述 b b 階段三 舉一反三的使...
IOC底層實現原理
1.基本概念 ioc 控制反轉,建立物件的方式由傳統的new方式的建立轉變成交給spring容器進行管理。2.底層實現 2.1 為什麼會出現ioc 且看一段 class user 傳統呼叫user類的add方法使用new方式建立user物件,然後再呼叫add方法。該種方式缺點 耦合度高。於是人們對以...