這篇文章將為大家詳細(xì)講解有關(guān)@Resource和@Autowired的區(qū)別是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的凌海網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
模式 | 說(shuō)明 |
---|---|
no | 默認(rèn)值,未激活 Autowiring,需要手動(dòng)執(zhí)行依賴注入對(duì)象 |
byName | 根據(jù)被注入屬性的名稱作為Bean名稱進(jìn)行依賴查找,并將對(duì)象設(shè)置到該屬性 |
byType | 根據(jù)被注入屬性的類型作為依賴類型進(jìn)行查找,并將對(duì)象設(shè)置到該屬性 |
constructor | 特殊的byType類型,用戶構(gòu)造器參數(shù) |
@Autowired是Spring中的注解,@Resource是JSR-250中提供的注解,即Java提供的注解,從包名就可以看出來(lái)
Autowired:org.springframework.beans.factory.annotation.Autowired Resource:javax.annotation.Resource
@Autowired的依賴注入過(guò)程是由AutowiredAnnotationBeanPostProcessor支持的
具體的注入邏輯在DefaultListableBeanFactory#doResolveDependency
@Autowired的注入邏輯如下
@Resource的依賴注入過(guò)程是由CommonAnnotationBeanPostProcessor支持的
具體的注入邏輯在CommonAnnotationBeanPostProcessor#autowireResource
@Resource的注入邏輯如下
「注意:@Resource按照類型查找的邏輯和@Autowired的一樣,因?yàn)槎际钦{(diào)用了DefaultListableBeanFactory#doResolveDependency方法」
@Autowired:先byType再byName
@Resource:先byName再byType(當(dāng)指定@Resource name屬性時(shí),只會(huì)byName)
關(guān)于@Resource和@Autowired的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。