1.IOC不是一種技術,只是一種思想,一個重要的面向對象編程的法則,它能指導我們如何設計出松耦合,更優良的程序。傳統應用程序都是由我們在類內部主動創建依賴對象,從而導致類與類之間高耦合,難於測試;有了IOC容器后,把創建和查找依賴對象的控制權交給了容器,由容器進行注入組合對象,所以對象與對象之間是松散耦合,這樣也方便測試,利於功能復用,更重要的使程序的整個體系結構變得非常靈活。在運行期,在外部容器動態的將依賴對象注入組件,當外部容器啟動后,外部容器就會初始化。創建並管理bean對象,以及銷毀他,這種應用本身不負責依賴對象的創建和維護,依賴對象的創建和維護是由外部容器負責的稱為控制反轉。
2.IOC(控制反轉)和 DI(依賴注入)
IOC(Inversion of Control,控制反轉)。這是spring的核心,貫穿始終。所謂IOC,對於spring框架來說,就是由spring來負責控制對象的生命周期和對象間的關系。
DI(依賴注入)。IOC的一個重點是在系統運行中,動態的向某個對象提供它所需要的其他對象。這一點是通過DI(Dependency Injection,依賴注入)來實現的