Spring2

IoC—Inversion of Control,控制反轉(zhuǎn)
DI—Dependency Injection,依賴注入
AOP--Aspect Oriented Programming面向切片編程

IOC容器和依賴反轉(zhuǎn)模式

依賴控制反轉(zhuǎn)的實現(xiàn)

如果合作對象的引用或依賴關(guān)系的管理要由具體對象來完成,會導(dǎo)致代碼的高度耦合和可測試性降低。

這些依賴關(guān)系可以通過把對象的依賴注入交給框架或IOC容器來完成。

在Spring中,IoC容器是實現(xiàn)依賴反轉(zhuǎn)模式的載體,在對象生成或初始化時直接將數(shù)據(jù)注入到對象中,也可以通過將對象引用注入到對象數(shù)據(jù)域中的方式來注入對方法調(diào)用的依賴。它把對象的依賴關(guān)系有序地建立起來,簡化了對象依賴關(guān)系的管理。

如何反轉(zhuǎn)對依賴的控制?

應(yīng)用控制反轉(zhuǎn)后,當對象被創(chuàng)建時,由一個調(diào)控系統(tǒng)內(nèi)的所有對象的外界實體將其所依賴的對象的應(yīng)用傳遞給它。也就是說,依賴被注入到對象中,所以,控制反轉(zhuǎn)是關(guān)于一個對象如何獲取它所依賴的對象的應(yīng)用的,反轉(zhuǎn)是指責任的反轉(zhuǎn)。

可以把在面向?qū)ο缶幊讨谐3?zhí)行的新建對象,給對象引用賦值等操作由容器統(tǒng)一完成。

在很多情況下,由很大一部分對象是用來處理數(shù)據(jù)的,這部分對象不會經(jīng)常變化,在系統(tǒng)中以單件的形式存在就可以滿足應(yīng)用的需求,不涉及數(shù)據(jù)、狀態(tài)共享的問題。對象的相互依賴關(guān)系比較穩(wěn)定,不會隨著應(yīng)用的運行狀態(tài)的改變而改變。

Spring的IoC容器系列

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容