使用@Autowired注解有錯(cuò)誤提示的解決
使用@Autowired注解有錯(cuò)誤提示
使用Spring boot +mybatis框架時(shí),在service實(shí)現(xiàn)類中使用Mapper類,給Mapper類添加@Autowired注解時(shí)發(fā)現(xiàn)
有錯(cuò)誤提示:could not autowire,no beans of "XXX" type found
但程序的編譯和運(yùn)行都正常。
處理方式
方案一:@Autowired(required = false) 設(shè)置required 屬性值為 false,錯(cuò)誤消失
方案二:用@Resource注解替換@Autowired注解,錯(cuò)誤消失
@Resource注解與@Autowired注解的異同點(diǎn)
這兩個(gè)注解都是用作bean的注入時(shí)使用,都是為一個(gè)對(duì)象變量省去寫(xiě)get,set方法,自動(dòng)為這個(gè)對(duì)象注入實(shí)例化對(duì)象(即注入依賴)注入的方式還是有所區(qū)別的 :
@Autowired
是基于spring的注解org.springframework.beans.factory.annotation.Autowired,它默認(rèn)是按類型進(jìn)行的裝配的,如果想要它按名字進(jìn)行裝配則需在@autowired下面添加@qualifier("name")`注解,都無(wú)法找到唯一的一個(gè)實(shí)現(xiàn)類的時(shí)候報(bào)錯(cuò)。@Autowired注解默認(rèn)情況下必須要求依賴對(duì)象必須存在,如果要允許null值,則應(yīng)該設(shè)置它的required屬性為false,@Resource
是基于j2ee的注解(可以減少了與spring的耦合),(JDK1.6以上支持)默認(rèn)是按名字進(jìn)行注解,若不指定裝配bean的名字,當(dāng)注解寫(xiě)在字段上時(shí),默認(rèn)取字段名,按照名稱查找通過(guò)set方法進(jìn)行裝配,倘若有多個(gè)子類,則會(huì)報(bào)錯(cuò)。需要注意的是name屬性一旦指定,就只會(huì)按照名稱進(jìn)行裝配
Spring的@Autowired注解報(bào)錯(cuò)改為警告
使用@Autowired注解在idea里會(huì)有error提示,不影響程序正常運(yùn)行,據(jù)我觀察身邊同事們大多也是選擇無(wú)視這個(gè)error,但一條紅線放在這看著確實(shí)難受。后來(lái)得知可以把這里的error改為warning,并且不會(huì)干擾其他代碼。
打開(kāi)idea的settings,找到如下圖所示位置,修改自動(dòng)注入時(shí)的error錯(cuò)誤為warning警告。
成功修改后就不會(huì)有煩人的紅色下劃線了(變成了黃色的),不建議隨意修改這些檢測(cè),除非你確實(shí)很了解它。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于IDEA 2020使用 mybatis-log-plugin插件的問(wèn)題
這篇文章主要介紹了關(guān)于IDEA 2020使用 mybatis-log-plugin插件的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Java實(shí)現(xiàn)讀取html文本內(nèi)容并按照格式導(dǎo)出到excel中
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)讀取html文本提取相應(yīng)內(nèi)容按照格式導(dǎo)出到excel中,文中的示例代碼講解詳細(xì),需要的可以參考下2024-02-02SpringBoot配置Redis實(shí)現(xiàn)保存獲取和刪除數(shù)據(jù)
本文主要介紹了SpringBoot配置Redis實(shí)現(xiàn)保存獲取和刪除數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06IDEA配置SpringBoot熱啟動(dòng),以及熱啟動(dòng)失效問(wèn)題
這篇文章主要介紹了IDEA配置SpringBoot熱啟動(dòng),以及熱啟動(dòng)失效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Spring?Boot?整合JPA?數(shù)據(jù)模型關(guān)聯(lián)使用操作(一對(duì)一、一對(duì)多、多對(duì)多)
這篇文章主要介紹了Spring?Boot?整合JPA?數(shù)據(jù)模型關(guān)聯(lián)操作(一對(duì)一、一對(duì)多、多對(duì)多),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Java Serializable和Parcelable詳解及實(shí)例代碼
這篇文章主要介紹了Java Serializable和Parcelable詳解,并附實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09