?IOC概要
控制反轉(zhuǎn)不是一種技術(shù)而是一種思想,有別于傳統(tǒng)的思想的是,它將設(shè)計好的對象交于容器來控制,而不是對象的內(nèi)部直接控制。

?傳統(tǒng)應(yīng)用示意圖.png
當(dāng)有了IOC/DI容器之后,就不需要在客戶端類中主動創(chuàng)建這些對象了

?IOC容器管理獲取對象補救.png
IOC容器可以做什么
IOC是一種思想,一種面向?qū)ο蟮木幊谭▌t,它改變了既有的思想,把從應(yīng)用程序主動獲取資源到必須等待IOC容器來創(chuàng)建并注入它所需要的資源。
這樣的好處是,對象與對象之間能夠松耦合,便于測試,利于功能的復(fù)用。把創(chuàng)建和查找對象的控制權(quán)交予IOC容器中,讓開發(fā)人員更能關(guān)注業(yè)務(wù)邏輯的實現(xiàn)。
總結(jié):由IOC容器幫對象來查找相應(yīng)的依賴對象并注入,而不是由對象主動去找。
DI依賴注入
關(guān)鍵點在于:
- 誰依賴誰:應(yīng)用程序依賴IOC容器
- 為什么需要依賴:因為應(yīng)用程序需要IOC容器來提供對象需要的外部資源
- 誰注入誰:IOC容器注入應(yīng)用程序某個對象,應(yīng)用程序依賴的對象
- 注入了什么:注入了某個對象所需要的外部資源(對象、資源、常量數(shù)據(jù))
歡迎郵件交流zhanghanbin1990@live.cn,并感謝importJava