Spring源碼系列-IOC與DI 1.1

?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)鍵點在于:

  1. 誰依賴誰:應(yīng)用程序依賴IOC容器
  2. 為什么需要依賴:因為應(yīng)用程序需要IOC容器來提供對象需要的外部資源
  3. 誰注入誰:IOC容器注入應(yīng)用程序某個對象,應(yīng)用程序依賴的對象
  4. 注入了什么:注入了某個對象所需要的外部資源(對象、資源、常量數(shù)據(jù))

歡迎郵件交流zhanghanbin1990@live.cn,并感謝importJava

最后編輯于
?著作權(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)容