IoC容器的初始化過程

2021-07-11 12:57:05 字數 1075 閱讀 5848

這個resource

定位指的是

beandefinition

的資源定位,它由

resourceloader

通過統一的

resource

介面來完成,這個

resource

對各種形式的

beandefinition

的使用都提供了統一介面。對於這些

beandefinition

的存在形式,相信大家都不會感到陌生。比如,在檔案系統中的

bean

定義資訊可以使用

filesystemresource

來進行抽象;在類路徑中的

bean

定義資訊可以使用前面提到的

classpathresource

來使用,等等。這個定位過程類似於容器尋找資料的過程,就像用水桶裝水先要把水找到一樣。

這個載入過程是把使用者定義好的

bean

表示成ioc

容器內部的資料結構,而這個容器內部的資料結構就是

beandefinition

。下面介紹這個資料結構的詳細定義。具體來說,這個

beandefinition

實際上就是

pojo

物件在ioc

容器中的抽象,通過這個

beandefinition

定義的資料結構,使

ioc容器能夠方便地對

pojo

物件也就是

bean

進行管理。

這個過程是通過呼叫

beandefinitionregistry

介面的實現來完成的。這個註冊過程把載入過程中解析得到的

beandefinition

向ioc

容器進行註冊。通過分析,我們可以看到,在

ioc容器內部將

beandefinition

注入到乙個

hashmap

中去,ioc

容器就是通過這個

hashmap

來持有這些

beandefinition

資料的。

IOC容器的初始化過程 this

this register componentclasses refresh 3.點選this 方法 4.首先會呼叫無參建構函式 7.以及defaultresourceloader的無參構造方法建立預設資源載入器 8.最後再初始化註解模式下的beandefinition讀取器,以及類路徑下面的bea...

IOC 容器初始化小結

總結一下ioc 容器初始化的基本步驟 1 初始化的入口在容器實現中的refresh 呼叫來完成。2 對bean 定義載入ioc 容器使用的方法是loadbeandefinition 其中的大致過程如下 通過resourceloader 來完成資源檔案位置的定位,defaultresourceload...

Spring容器初始化過程

1.preparerefresh 初始化placeholder source,校驗xml檔案 2.建立bean容器,載入並註冊bean。bean並沒有完成初始化,bean例項化未完成 初始化乙個defautllistablebeanfactory,載入beandefintion到beanfactor...