依赖注入的实现
IOC:控制反轉、依賴注入 (Inversion of Control) ·對象由容器來創建,而不是他們自己 ·對象本身并不知道他們自己是如何被配置的 IOC用到了工廠設計模式、反射技術。 IOC:由容器(框架)定制程序間的關系,不必象傳統實現中由程序代碼直接操控,控制權轉到外部容器(框架) ·目的:提升組件的重用概率 依賴注入的實現—一接口注入: ·原理:通過定義某一類型的接口interface來標識一組功能相似的對象,并在這一組對象與其調用者間,在編譯時分離,在運行時才動態加載實現類 ·好處:使得調用者和組件對象間的依賴程度減小,提高了模塊的獨立性 依賴注入的實現--設值注入(屬性注入)、構造注入(構造方法注入) ·設值注入: 原理:通過類的setter方法完成依賴關系的設置 好處:直觀,容易 ·構造注入: 原理:通過構造函數完成依賴關系的設定 優點:通用,利用Java語言的特性,來在運行時的一開始就建立起關聯 ·兩者比較: <1>設值注入的優點: 直觀、自然 對于復雜依賴的關系,如果采用構造注入,會導致構造器過于臃腫,IOC容器在創建bean實例時,需要同時實例化其依賴的全部實例,因而導致性能下降。 <2>構造注入的優點: 可以在構造中決定依賴關系的注入順序。 對于依賴關系無須變化的bean。構造注入更有用處。 更符高內聚的原則。 例: public class ProString { private IGetString getStr; //構造方法注入 //public ProString(IGetString getStr) { // this.getStr = getStr; //} public ProString(){ } //屬性注入 public IGetString getGetStr() { return getStr; } public void setGetStr(IGetString getStr) { this.getStr = getStr; } public String getData(){ String s=this.getStr.getString(); return s; }
轉載于:https://www.cnblogs.com/gxpblogs/archive/2013/05/21/3090968.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 文件复制软件绿化之dos命令
- 下一篇: hdu 3671 Boonie and