什么是IOC/DI?-創(chuàng)新互聯(lián)

IOC是 什么?
IOC的英文名字是Inversion of Control,IOC即“控制反轉(zhuǎn)”,不是什么技術(shù),而是一種設(shè)計(jì)思想。DI(Dependency Injection)叫依賴注入,是對(duì)IoC更簡(jiǎn)單的詮釋。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供鹽都網(wǎng)站建設(shè)、鹽都做網(wǎng)站、鹽都網(wǎng)站設(shè)計(jì)、鹽都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鹽都企業(yè)網(wǎng)站模板建站服務(wù),十多年鹽都做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

所謂的”控制反轉(zhuǎn)”就是對(duì)組件對(duì)象控制權(quán)的轉(zhuǎn)移,從程序代碼本身轉(zhuǎn)移到了外部容器,由容器來(lái)創(chuàng)建對(duì)象并管理對(duì)象之間的依賴關(guān)系。
所謂控制,指的是管理對(duì)象的權(quán)利;
所謂反轉(zhuǎn),指的是由Spring管理而不是開(kāi)發(fā)者管理
依賴注入的基本原則是應(yīng)用組件不應(yīng)該負(fù)責(zé)查找資源或者其他依賴的協(xié)作對(duì)象。配置對(duì)象的工作應(yīng)該由容器負(fù)責(zé),查找資源的邏輯應(yīng)該從應(yīng)用組件的代碼中抽取出來(lái),交給容器來(lái)完成。
DI是對(duì)IoC更準(zhǔn)確的描述,即組件之間的依賴關(guān)系由容器在運(yùn)行期決定,形象的來(lái)說(shuō),即由容器動(dòng)態(tài)的將某種依賴關(guān)系注入到組件之中。
本質(zhì)上IoC和DI是同一思想下不同維度的表現(xiàn) ,用通俗的話說(shuō)就是,IoC是bean的注冊(cè),DI是bean的初始化
IOC的作用
IoC的其中一個(gè)目的是為了解耦合,當(dāng)將一個(gè)對(duì)象交給第三方容器管理后,那么對(duì)象之間的耦合相較于傳統(tǒng) new方式會(huì)降低。同時(shí)Spring IoC也可以降低對(duì)象的管理成本,比如實(shí)現(xiàn)單例模式(默認(rèn)即是單例)等等。
要注意的是,IoC和DI的關(guān)系并不是一個(gè),類似于接口和實(shí)現(xiàn)類的區(qū)別,IoC是一種設(shè)計(jì)思想,DI是IoC 的一 種實(shí)現(xiàn),DI也稱為依賴注入,在Spring中可以通過(guò)@Autowired注解將Spring容器中的對(duì)象注入到指 定的位置。
依賴注入可以通過(guò)setter方法注入(設(shè)值注入)、構(gòu)造器注入和接口注入三種方式來(lái)實(shí)現(xiàn),Spring支持setter注入和構(gòu)造器注入,通常使用構(gòu)造器注入來(lái)注入必須的依賴關(guān)系,對(duì)于可選的依賴關(guān)系,則setter注入是更好的選擇,setter注入需要類提供無(wú)參構(gòu)造器或者無(wú)參的靜態(tài)工廠方法來(lái)創(chuàng)建對(duì)象。
IOC和DI之間的關(guān)系
依賴注入不能單獨(dú)存在,需要在ioc的基礎(chǔ)上完成操作。也就是說(shuō),只有把對(duì)象創(chuàng)建了,你才能向類里面注入值。
利用IOC的好處有
把創(chuàng)建和查找依賴對(duì)象的控制權(quán)交給了容器,由容器進(jìn)行注入組合對(duì)象,所以對(duì)象與對(duì)象之間是松散耦合,這樣也方便測(cè)試,利于功能復(fù)用,同時(shí)也使得程序的整個(gè)體系結(jié)構(gòu)更加靈活。
通過(guò)依賴注入機(jī)制,我們只需要通過(guò)簡(jiǎn)單的配置,而無(wú)需任何代碼就可指定目標(biāo)需要的資源,完成自身的業(yè)務(wù)邏輯,而不需要關(guān)心具體的資源來(lái)自何處,由誰(shuí)實(shí)現(xiàn),提高模塊化。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章題目:什么是IOC/DI?-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)URL:http://www.muchs.cn/article4/deoioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、企業(yè)建站微信小程序、營(yíng)銷型網(wǎng)站建設(shè)、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)