依賴注入意味著給乙個物件它的例項變數賦值。
類中有一些方法呼叫時使用的東西,我們叫這是是「依賴」,大多數人稱之為「變數」,有時稱之為「例項變數」。
public class example
public void dostuff()
}
這裡我們有乙個變數或者是依賴,叫做mydatabase,我們在建構函式中初始化它。
如果我們想,我們可以將變數傳到建構函式中,那就是「注入」這個「依賴」到類中,現在當我們使用這個變數(依賴)時候,我們用的這個變數是給的而不是我們建立的。
public class example
public example(databasethingie usethisdatabaseinstead)
public void dostuff()
}
全部的東西都在這了,剩下的變數就成主角了,你可以在setter方法中設定依賴,你可以通過呼叫定義在特殊介面中的setter方法設定依賴等等。
在測試時,隔離這些方法很方便
public class exampletest
}public class example
public example(databasethingie usethisdatabaseinstead)
public void dostuff()
}
依賴注入實際上就是傳遞實體變數。
還有兩篇好文章:
inversion of control containers and the dependency injection pattern:
a beginners guide to dependency injection:
Spring揭秘 九 基於註解的依賴注入3
spring2.5提供的基於註解的依賴注入,除了可以使用spring提供的 autowired和 qualifier來標註相應類定義之外,還可以使用jsr250的 resource。resource與 autowired不同,它遵循的是byname自動繫結形式的行為準則 public class f...
spring 依賴注入 Spring依賴注入
依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...
ioc(依賴 依賴倒置 依賴注入)
先看一下這個大佬的部落格 我只是畫個圖 1.依賴 這個很不友好,要換別的player或者meidafile要動operation 2.依賴倒置 這個好很多了,加了兩個介面,要換別的player或者meidafile,不用動operation 3.ioc 控制反轉 控制權是我們使用者自己,如果是spr...