Spring ioc的底層原理

2021-09-28 19:41:01 字數 997 閱讀 7430

ioc(inversion of control,控制反轉):乙個類的某個屬性需要使用時,需要有本類自己初始化。而在spring類的某些屬性不用自己初始化而交給了spring來管理。這樣的轉換就是ioc思想。spring的ioc思想是,spring的ioc容器在初始化的時候就根據配置對相應的物件進行初始化,並放在容器中。同時根據配置對相應類的屬性進行初始化。也就是di(dependency injection依賴注入),至此類的初始化不需要類本身負責初始化而交給了spring容器。

ioc的好處是:降低耦合性:某個類的乙個屬性,以前是該類自己控制,而引人spring後,這個類的屬性由spring控制。

spring ioc的模擬所做的事情是:在xml檔案配置好相應的bean,設定注入關係。在解析xml時候對bean進行初始化同時對相應屬性進行注入。

ioc其實就是利用簡單工廠模式,來解決**需要重複修改的問題。

一般來說,我們在寫專案的時候,如果需要更改乙個類的名字或類內方法的名字時候,小專案還好說,乙個乙個改,但我們如果完成的是乙個大專案,乙個乙個改就不太現實了,所以spring  ioc 就是為了解決這一問題而存在。

我們可以通過這張圖來了解ioc的底層實現原理,

第一步,在xml檔案中配置物件類的資訊,其中包括id 和 class

第二步,我們建立乙個返回值為service的工廠類,根據反射來獲取service物件;

至於反射的實現大致 可以看作是通過class.forname獲取class 然後根據newinstance()方法獲取物件

第三步,在需要的地方呼叫getservice()就可以了,這時候如果需要更改類名,只需要更改xml配置檔案中的class,id屬性就可以了

Spring IoC底層原理

siwuxie095 spring ioc 底層原理 1 ioc 即 inversion of control,控制反轉,把物件的建立 交給 spring 進行管理 2 ioc 容器管理 bean 的方式 1 基於 配置檔案的方式 2 基於 註解的方式 3 ioc 底層原理所使用的技術 1 xml ...

SpringIOC底層原理

一 建立xml配置檔案 預設為單例項 userdao class com.example.ioc.userdao userdao 以上僅為示例,具體寫 時定義一次bean即可。二 建立工廠類,解析配置檔案 public static object getbean string id 解析xml檔案 ...

Spring IOC底層原理

1 控制反轉,把物件的建立和建立物件的過程交給spring進行管理 2 使用目的主要是為了降低 耦合 需要被使用的物件 class userdao 工廠類 class use ctory 呼叫類 class userservice 第一步 xml配置檔案中,配置建立物件 物件id 唯一 class ...