依賴注入 概述

2021-06-25 11:09:28 字數 836 閱讀 9297

控制反** 一般分為兩種型別,依賴注入(dependency injection,簡稱di)和依賴查詢(dependency lookup)。

依賴注入:一種設計模式。乙個類對另乙個類有依賴時,由容器自動注入。

假設你編寫了兩個類,乙個是人(person),乙個是手機(mobile)。 

人有時候需要用手機打**,需要用到手機的dialup方法。 

傳統的寫法是這樣: 

public class person

}也就是說,類person的makecall方法對mobile類具有依賴,必須手動生成乙個新的例項new   mobile()才可以進行之後的工作。 

依賴注入的思想是這樣,當乙個類(person)對另乙個類(mobile)有依賴時,不再該類(person)內部對依賴的類(moblile)進行例項化,而是之前配置乙個beans.xml,告訴容器所依賴的類(mobile),在例項化該類(person)時,容器自動注入乙個所依賴的類(mobile)的例項。 

依賴注入寫法是這樣: 

介面: 

public inte***ce mobileinte***ce

person類: 

public class person

public void setmobileinte***ce(mobileinte***ce mobileinte***ce)

在xml檔案中配置依賴關係 

這樣,person類在實現撥打**的時候,並不知道mobile類的存在,它只知道呼叫乙個介面mobileinte***ce,而mobileinte***ce的具體實現是通過mobile類完成,並在使用時由容器自動注入,這樣大大降低了不同類間相互依賴的關係。

spring 依賴注入 Spring依賴注入

依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...

spring概述 容器 set方法注入依賴關係

方式二 使用靜態工廠方法 了解 方式三 使用例項工廠方法 了解 scopebean s1 ac.getbean s1 scopebean.class scopebean s2 ac.getbean s1 scopebean.class system.out println s1 s2 id s1 c...

ioc(依賴 依賴倒置 依賴注入)

先看一下這個大佬的部落格 我只是畫個圖 1.依賴 這個很不友好,要換別的player或者meidafile要動operation 2.依賴倒置 這個好很多了,加了兩個介面,要換別的player或者meidafile,不用動operation 3.ioc 控制反轉 控制權是我們使用者自己,如果是spr...