1.IoC是什么?
IoC(Inversion of Control)控制反轉,IoC是一種新的Java編程模式,目前很多輕量級容器都在廣泛使用的模式。
spring的ioc和di,2.IoC解決了什么問題?
在IoC出現以前,組件之間的協調關系是由程序內部代碼來控制的,或者說,以前我們使用New關鍵字來實現兩組間之間的依賴關系的。
這種方式就造成了組件之間的互相耦合。IoC(控制反轉)就是來解決這個問題的,它將實現組件間的關系從程序內部提到外部容器來管理。
ioc和di一樣嗎,也就是說,由容器在運行期將組件間的某種依賴關系動態的注入組件中。
3.IoC的實現方式 及 與DI的關系?
(1).依賴查找(Dependency Lookup):容器中的受控對象通過容器的API來查找自己所依賴的資源和協作對象。
ioc與di,這種方式雖然降低了對象間的依賴,但是同時也使用到了容器的API,造成了我們無法在容器外使用和測試對象。
依賴查找是一種更加傳統的IoC實現方式。
(2).依賴注入(Dependency Injection):這就是DI,字面上理解,依賴注入就是將服務注入到使用它的地方。對象只提供普通的方法讓容器去決定依賴關系,
hibernate?容器全權負責組件的裝配,它會把符合依賴關系的對象通過屬性(JavaBean中的setter)或者是構造子傳遞給需要的對象。
相對于IoC而言,依賴注入(DI)更加準確地描述了IoC的設計理念。所謂依賴注入,即組件之間的依賴關系由容器在應用系統運行期來決定,
也就是由容器動態地將某種依賴關系的目標對象實例注入到應用系統中的各個關聯的組件之中。
spring?4.Spring中的IoC與DI:
IoC是Spring的核心,貫穿始終。對于Spring框架來說,就是由Spring來負責控制對象的生命周期和對象間的關系。
Spring中DI有兩種實現方式---Setter方式(傳值方式)和構造器方式(引用方式)。
分享到:
2011-03-18 16:35
瀏覽 2942
評論
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态