假設a元件依賴b元件
1. 自己new乙個。 主動
2. 找工廠去要乙個。 主動。
3. 等,等容器為我們提供乙個被依賴元件。 被動。
傳統模式下,無論是a去new乙個b元件,還是通過工廠去獲取b元件,都要需要a元件主動去獲取被依賴的b元件。
用了spring之後, spring容器會負責把被依賴的b元件注入到a元件中,a只要被動地等待即可。
——此時a對b的控制關係,由原來的主動變成了被動,johnson將之成為ioc(從a元件角度起名字)。
martine fowler —— ioc難理解,又給這個技術乙個名字:依賴注入(di,從spring容器角度起名字)。
ioc和di是同乙個事情的兩個不同說法。
依賴注入分為三種:
介面注入:很少使用。
設值注入:就是通過
property
元素控制呼叫
setter
方法,就是所謂的設值注入。
構造注入:就是
constructor-arg
控制呼叫有引數的構造器,由構造器來注入被依賴元件。就是所謂的構造器注入。
spring ioc 依賴注入
spring ioc 控制反轉,或叫依賴注入 簡單的bean裝配 import import import test.helloworld public class test public class helloworld beans.xml xml version 1.0 encoding utf...
Spring IOC 控制反轉 依賴注入 原理解析
ioc,inverse of control 控制反轉,其包含兩個內容 其一是控制,其二是反轉。在程式中,被呼叫類的選擇控制權從呼叫它的類中移除,轉交給第三方裁決。這個第三方指的就是spring的容器。ioc另解,依賴注入 dependency injection 呼叫類對被呼叫類的依賴關係由第三方...
Spring Ioc 依賴注入的幾種方式
一 setter方法注入 配置檔案如下 action實現類中 private ihelloservice helloservice private string name public void sayhello public void sethelloservice ihelloservice h...