Spring 依賴注入之造輪術(上)

2021-08-14 19:13:55 字數 438 閱讀 6419

最近有時間看了一下spring ioc的原始碼,了解了spring bean載入 ,例項化與注入的大體流程,細節方面看的不是很深(其實是看的一臉懵逼),所以想自己造下輪子,自己實現spring ioc.

在這之前,首先說一下spring ioc的大體流程,本文章都是依賴自己所看、所學、所想寫出,難免有理解不到位,希望各位看官及時提出建議。

spring 的依賴注入流程分為兩個步驟:

1:ioc容器初始化。這裡包括載入beandefinition定義即xml的載入,解析xml即解析xml為beandefinition物件,beandefinition的註冊即把beandefinition註冊到beanfactory中(其實就是beanfactory中有個beandefinitionmap,把bean的名稱和其類的全名put進去就是註冊)

2:ioc的依賴注入。就是例項化bean與注入bean的依賴。

spring 之 ioc 依賴注入

關於bean的名稱,這裡有條預設的規則,就是類的名稱,然後第乙個字母小寫 依賴注入 xml方式 通過setter方法注入依賴 元素的 property 子元素指明了使用它們的set方法來注入。可以注入任何東西,從基本型別到集合類,甚至是應用系統的bean。這種方式的缺點是你無法在其它地方重用這個pe...

spring學習之 依賴注入

spring框架的核心功能有兩個 1.理解依賴注入 控制反轉 ioc 呼叫者無須主動獲取被依賴物件,呼叫者只要被動接受spring容器為呼叫者的成員變數賦值即可。依賴注入 di spring容器負責將被依賴物件賦值給呼叫者的成員變數,相當於注入它依賴的例項。兩大改變 2.設值注入 設值注入是指ioc...

Spring之依賴注入 控制反轉

借用李剛老師書中的例子,在原始社會,人要砍柴,那麼他就要自己去製作一把斧子。這樣的方式的耦合度很高,斧子還要原材料,打磨工具等,這樣任何乙個環節的問題,都會導致其他環節的問題,那麼在 中,一旦要修改乙個類的實現時,就可能需要修改一系列的依賴。在工業社會,人要一把斧子,只需要去工廠獲取,它的實現類是對...