springIOC容器詳解

2021-08-28 03:28:50 字數 1161 閱讀 6747

springioc容器又被搞了,我tm今天要搞定這個東西

我目前看過最好的講解是這篇作者的

springioc容器在實現控制反轉和依賴注入的過程中,可以劃分為兩個階段:

這兩個階段中,ioc容器分別作了以下這些事情:

2、ioc容器及ioc容器如何獲取物件間的依賴關係

spring中提供了兩種ioc容器:

這兩個容器間的關係如下圖:

這裡寫描述

2.我們來看看這兩個容器的區別:

beanfactory是基礎的ioc容器:如果沒有特殊指定,預設採用延遲初始化策略(lazy-load)。只有當客戶端物件需要訪問容器中的某個受管物件的時候,才對該受管物件進行初始化以及依賴注入操作。所以,相對來說,容器啟動初期速度較快,所需要的資源有限。

3、萬里長征第一步:載入配置檔案資訊

我們說beanfactory容器:

beanfactory容器中,每乙個注入物件都對應乙個beandefinition例項物件,該例項物件負責儲存注入物件的所有必要資訊,包括其對應的物件的class型別、是否是抽象類、構造方法引數以及其他屬性等。當客戶端需要時,容器會通過這些資訊返回乙個可用的例項

beanfactory物件從**來呢?通過乙個專門解析配置檔案的類。beandefinitionreader他負責讀取xml檔案並解析,將解析的內容對映到beandefinition

4、籠統講解容器中物件的建立和獲取

實現bean註冊的介面是beandefinitionregistry,通過這個介面註冊bean,它要通過beandefinition對bean完成註冊。

總結來說就是我們先通過beandinfitionreader註冊到beandefintion中,再通過beandefinitionregistry完成bean的註冊

Spring IoC容器詳解 二

依賴的處理過程 容器解決依賴的過程 對於每個bean,它的依賴關係以屬性,構造函式引數或靜態工廠方法 如果不是用正常的建構函式 的引數的形式表示,當實際建立bean的時候,它的依賴被提供 每個屬性或者構造函式引數被設定乙個實際值或引用bean容器裡的其他bean 每個屬性的值或者構造函式引數的值根據...

Spring Ioc容器詳解(三)

在pom.xml新增spring依賴 org.springframework groupid spring context artifactid version dependency org.springframework groupid spring beans artifactid versio...

手寫spring IOC容器

基本思路 解析xml配置檔案 根據配置的生成相應的物件 將物件存入ioc容器 ioc容器實現 1.0 encoding utf 8 address class com.example.xmlsax reader.entity.address city value fuzhou user class ...