詳細(xì)介紹 IOC 和 DI
點(diǎn)擊關(guān)注,與你共同成長(zhǎng)!

學(xué)習(xí)過 Spring 框架的人一定都會(huì)聽過 Spring 的 IoC (控制反轉(zhuǎn)) 、DI (依賴注入)這兩個(gè)概念,對(duì)于初學(xué) Spring 的人來說,總覺得 IoC 、DI 這兩個(gè)概念是模糊不清的,是很難理解的,今天和大家分享網(wǎng)上的一些技術(shù)大牛們對(duì) Spring 框架的 IOC 的理解以及談?wù)勎覍?duì) Spring Ioc 的理解。
1、IOC是什么
用圖例說明一下,傳統(tǒng)程序設(shè)計(jì)如圖1,都是主動(dòng)去創(chuàng)建相關(guān)對(duì)象然后再組合起來:

當(dāng)有了IOC的容器后,在客戶端類中不再主動(dòng)去創(chuàng)建這些對(duì)象了,程序的結(jié)構(gòu)圖變成如圖2所示:

2、IoC能做什么
有了IOC容器后,把創(chuàng)建和查找依賴對(duì)象的控制權(quán)交給了容器,由容器進(jìn)行注入組合對(duì)象,所以對(duì)象與對(duì)象之間是松散耦合,這樣也方便測(cè)試,利于功能復(fù)用,更重要的是使得程序的整個(gè)體系結(jié)構(gòu)變得非常靈活。
3、IOC和DI
為什么需要依賴:應(yīng)用程序需要 IOC 容器來提供對(duì)象需要的外部資源;
誰(shuí)注入誰(shuí):很明顯是 IOC 容器注入應(yīng)用程序某個(gè)對(duì)象,應(yīng)用程序依賴的對(duì)象;
注入了什么:就是注入某個(gè)對(duì)象所需要的外部資源(包括對(duì)象、資源、常量數(shù)據(jù))。
4、IOC 和 DI 的意義
作者:fuzhongmin05

以上,便是今天的分享,希望大家喜歡,覺得內(nèi)容不錯(cuò)的,歡迎「分享」「贊」或者點(diǎn)擊「在看」支持,謝謝各位。
