未使用spring之前,可以這樣管理兩個類之間的依賴關係:
publicclass
texteditor
}
帶來的問題是,spellchecker的實現類與texteditor的使用類耦合在一起了,如果變換了一種spellchecker的實現方式,需要同步修改texteditor的**,不利於單元測試、也不利於後期功能的擴充套件
解決方式是解耦,即將texteditor主動new spellchecker的地方,轉成被動的獲取,通過暴露對外方法,來將具體的實現類物件傳入texteditor中,實現方式有兩種:
一種是通過texteditor的構造方法,在初始化texteditor時將依賴傳入:
publicclass
texteditor
}
另一種方式是通過set方法來實現。這也是在使用spring的過程中常用的方式,將依賴關係委託給spring容器來管理
spring 依賴注入 Spring依賴注入
依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...
Spring依賴注入
所謂依賴注入,是指在程式執行過程中,如果需要呼叫另乙個物件協助時,無須在 中建立按被呼叫者,而是依賴外部注入。spring 的依賴注入對呼叫者和被呼叫者幾乎沒有任何要求,完全支援對 pojo 之間依賴關係的管理。依賴注入的兩種方式 1 設值注入 設值注入是指通過 setter 方法傳入被呼叫者的例項...
SPring依賴注入
所謂依賴注入,是指在程式執行過程中,如果需要呼叫另乙個物件協助時,無須在 中建立按被呼叫者,而是依賴外部注入。spring的依賴注入對呼叫者和被呼叫者幾乎沒有任何要求,完全支援對pojo之間依賴關係的管理。依賴注入的兩種方式 1 設值注入 設值注入是指通過setter方法傳入被呼叫者的例項。這種注入...