@Autowired 與@Resource

@Autowired 與@Resource的區(qū)別

  • @Autowired與@Resource都可以用來裝配bean. 都可以寫在字段上,或?qū)懺趕etter方法上。
  • @Autowired默認(rèn)按類型裝配(這個(gè)注解是屬業(yè)spring的),默認(rèn)情況下必須要求依賴對(duì)象必須存在,如果要允許null值,可以設(shè)置它的required屬性為false,如:@Autowired(required=false) ,如果我們想使用名稱裝配可以結(jié)合@Qualifier注解進(jìn)行使用,如下:
@Autowired
@Qualifier("myServiceImpl")
private MyService myservice;
  • @Resource(這個(gè)注解屬于J2EE的),默認(rèn)按照名稱進(jìn)行裝配,名稱可以通過name屬性進(jìn)行指定,如果沒有指定name屬性,當(dāng)注解寫在字段上時(shí),默認(rèn)取字段名進(jìn)行安裝名稱查找,如果注解寫在setter方法上默認(rèn)取屬性名進(jìn)行裝配。當(dāng)找不到與名稱匹配的bean時(shí)才按照類型進(jìn)行裝配。但是需要注意的是,如果name屬性一旦指定,就只會(huì)按照名稱進(jìn)行裝配。
  • @Autowired是根據(jù)類型進(jìn)行自動(dòng)裝配的。如果當(dāng)Spring上下文中存在不止一個(gè)MyService類型的bean時(shí),就會(huì)拋出BeanCreationException異常;如果Spring上下文中不存在MyService類型的bean,也會(huì)拋出BeanCreationException異常。我們可以使用@Qualifier配合@Autowired來解決這些問題。
  • 新補(bǔ)充:原本以為之前的理解已經(jīng)完整了,直到我發(fā)現(xiàn)有一種特殊情況@Autowired也能正常注入,就是有一個(gè)實(shí)現(xiàn)類指定id為"myService"。所以應(yīng)該是:@Autowired也是先按照name 裝配,其實(shí)和@Resource一樣,只不過@Autowired只能取字段名進(jìn)行裝配,不能單獨(dú)指定要裝配的name而已

Spring對(duì)Bean的name默認(rèn)生成規(guī)則

Spring對(duì)注解形式的bean的名字的默認(rèn)處理就是將類名首字母小寫,再拼接后面的字符,還有另外的一個(gè)特殊處理:當(dāng)類的名字是以兩個(gè)或以上的大寫字母開頭的話,bean的名字會(huì)與類名保持一致例如:
BKYInfoServcie.java------>@Service("BKYInfoServcie")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評(píng)論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,261評(píng)論 6 342
  • 1.1 Spring IoC容器和bean簡(jiǎn)介 本章介紹了Spring Framework實(shí)現(xiàn)的控制反轉(zhuǎn)(IoC)...
    起名真是難閱讀 2,670評(píng)論 0 8
  • 1.1 spring IoC容器和beans的簡(jiǎn)介 Spring 框架的最核心基礎(chǔ)的功能是IoC(控制反轉(zhuǎn))容器,...
    simoscode閱讀 6,846評(píng)論 2 22
  • 《高效能人士的七個(gè)習(xí)慣》 作者 史蒂芬·柯維 美國 1·重新認(rèn)識(shí)自己 每個(gè)人都有自己對(duì)成功的定義,說到成功,...
    水掰掰213閱讀 405評(píng)論 0 0

友情鏈接更多精彩內(nèi)容