Spring IOC基於XML容器的初始化(上)

2022-05-14 06:35:36 字數 1885 閱讀 2581

1、尋找入口

先看其建構函式的呼叫:

其實際呼叫的建構函式為:

2、獲得配置路徑

通過這兩個方法的原始碼我們可以看出,我們既可以使用乙個字串來配置多個 spring bean 配置資訊,也可以使用字串陣列,即下面兩種方式都是可以的:

classpathresource res = new classpathresource("a.xml,b.xml");

多個資源檔案路徑之間可以是用」 , ; \t\n」等分隔。

classpathresource res =new classpathresource(new string);

至此,springioc 容器在初始化時將配置的 bean 配置資訊定位為 spring 封裝的 resource。

3、開始啟動

refresh()方法主要為 ioc 容器 bean 的生命週期管理提供條件,spring ioc 容器載入 bean 配置資訊從 其 子 類 容 器 的 refreshbeanfactory() 方 法 啟 動 , 所 以 整 個 refresh() 中「configurable-listablebean-factory beanfactory = obtainfreshbeanfactory();」這句以後**的都是註冊容器的資訊源和生命週期事件,我們前面說的載入就是從這句**開始啟動。refresh()方法的主要作用是:在建立 ioc 容器前,如果已經有容器存在,則需要把已有的容器銷毀和關閉,以保證在 refresh 之後使用的是新建立起來的 ioc 容器。它類似於對 ioc 容器的重啟,在新建立好的容器中對容器進行初始化,對 bean 配置資源進行載入。

4、建立容器

obtainfreshbeanfactory()方法呼叫子類容器的 refreshbeanfactory()方法,啟動容器載入 bean 配置資訊的過程,**如下:

在這個方法中,先判斷 beanfactory 是否存在,如果存在則先銷毀 beans 並關閉 beanfactory,接著建立 defaultlistablebeanfactory,並呼叫 loadbeandefinitions(beanfactory)裝載 bean 定義。

5、載入配置路徑

Spring IOC容器 XML自動裝配

bytype根據屬性型別注入 bean的裝配可以理解為依賴關係注入,bean的裝配方式即bean依賴注入的方式。spring容器支援多種形式的bean的裝配方式,如 基於xml的裝配 基於註解 annotation 的裝配和自動裝配等 其中最常用的是基於註解的裝配。今天主要來了解一下自動裝配的方式!...

spring IOC基於註解方式入門

1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值。2 註解作用於類 方法 屬性上面 3 目的 簡化xml配置 1 component 2 service 3 controller 4 repository 上面四個註解功能是一樣的,都可以用來建立bean例項 引入依賴 開啟元件掃瞄 建立類,在...

spring IOC容器管理 基於註解方式

1 什麼是註解 1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值 2 使用註解,註解作用在類上面,方法上面,屬性上面 3 使用註解目的 簡化 xml 配置 2 spring 針對 bean 管理中建立物件提供註解 下面四個註解功能是一樣的,都可以用來建立 bean 例項 1 ...