第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Spring之路(5)--IoC、DI傻傻分不清楚

標(biāo)簽:
Java Spring

傻傻分不清楚

很多老铁说起自己的Java水平,经常会提起,本人精通Spring,然后也熟知Spring的核心就是IoC和AOP。

然后一问啥是IoC、啥是DI,就懵了,扯不清楚到底啥是啥,还有的就认为IoC和DI就是一个事,其实还真是有点差别滴。

控制反转是啥

IoC,即Inversion of Control,翻译成中文就是控制反转,那是对啥玩意的控制反转了呢,此处专指依赖项,也就是说对依赖项的控制发生了反转。

具体说明下,正常情况是怎么控制依赖项的呢,例如:

public class Driver {
	//依赖项:姓名
	private String name;
}

我们要在Driver对象中注入String对象,实际上是需要自己创建组件,然后通过构造函数或者set方法注入到Driver中。

那么IoC控制反转的情况下,对依赖项的控制是由容器来实现的,比如Spring容器就可以通过xml配置,将name的值注入到Driver对象中。

之前是程序员控制,之后是容器控制,实际上就是控制权发生了转换,此处学者为之命名控制反转,我个人感觉叫控制转移也是OK的。

依赖注入是啥

DI,全称Dependency Injection,即依赖注入,上面说了控制反转是容器控制依赖项,那么如何将依赖项注入到组件中,有一些具体的方式,比较常用的是依赖查找和依赖注入。也就是说,依赖注入实际上是控制反转的一种具体实现方式

为了便于理解,此处稍微说明下依赖查找和依赖注入的区别:

  • 依赖查找:程序员自己去查找依赖项
  • 依赖注入:在容器中配置好依赖,容器自行装配

Spring采用的是依赖注入的方式,也是主流的方式,肯定是好处多多,这个还得等Spring用的多了才能体会到。现在理解概念就是了。

总结

说白了,如果限定死了就是Spring框架,那么说IoC和DI是一回事,也差不多,毕竟Spring的IoC就是用DI方式实现的。

但是IoC和DI确实不是一个概念,就像去太空并一定是乘飞船(也可能是航天飞机)、去北京不一定是做高铁(也可能是骑自行车)。这个比喻有点扯,将就将就吧。

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消