IOC與DI的區別

2022-06-09 16:36:05 字數 915 閱讀 6941

一、ioc介紹

1.ioc是控制反轉。

2.傳統資源查詢方式:要求元件向容器發起請求,查詢資源作為回應,容器適時返回資源。

3.ioc查詢方式:容器會主動將資源提供給它所管理的元件,元件只需要選擇乙個合適的方式來接收資源,也被稱為查詢的被動式。

4.建立物件例項的控制權從**控制剝離到ioc容器控制(之前的寫法,由程式**直接操控使用new關鍵字),實際就是你在xml檔案控制,控制權的轉移是所謂反轉,側重於原理。

二、di介紹

1.di是依賴注入

2.ioc的另一種表達方式:元件以一些預先定義好的方式(如:setter方法)接收來自容器的資源注入。

3.相對於ioc而言,這種表述更加直接。

4.建立物件例項時,為這個物件注入屬性值或其它物件例項,側重於實現。

屬性注入(最常用)

1.通過set方法注入bean的屬性值或依賴的物件。

2.name屬性:制定bean屬性set方法後的屬性名。

3.value屬性值:可以使(value)子節點指定屬性值。

構造器注入

1.通過構造器注入bean屬性值或依賴物件,它保證bean例項在例項化後可以使用。

2.構造器注入在一樣。

三、區別

1.它們是spring核心思想的不同方面的描述。

2.依賴注入和控制反轉是對同一件事情的不同描述,從某個方面講,就是它們描述的角度不同。

依賴注入是從應用程式的角度在描述,可以把依賴注入描述完整點:應用程式依賴容器建立並注入它所需要的外部資源;

而控制反轉是從容器的角度在描述,描述完整點:容器控制應用程式,由容器反向的向應用程式注入應用程式所需要的外部資源。

Spring的IoC與DI差異

一 ioc ioc,全稱為inversion of control,即控制反轉。ioc是依賴倒置原則的一種 設計思想,把建立物件的權利交給框架,是框架的重要特徵。其包括依賴注入 dependency injection,簡稱di 和依賴查詢 dependency lookup ioc有兩個重點,一是...

Spring的使用(一) IOC與DI

ioc inversion of control 控制反轉,將 的控制權轉移,從 本身轉移到spring容器中,由spring容器進行控制。實現步驟 獲取spring容器 在容器中註冊響應的bean 獲取容器中已經註冊的bean io dependency injection 依賴注入,當容器中的某...

Spring框架中IOC和DI的區別

ioc 全稱inversion of control,中文釋義為控制反轉。簡單地說,ioc就是把物件的例項化工作交由spring容器來完成。ioc可以說是一種思想,傳統的應用程式是我們自己去建立 new 物件,為 正轉 而ioc是將建立物件的工作交給spring容器,物件是被動的被spring容器建...