使用@Autowired注解有錯誤提示的解決
使用@Autowired注解有錯誤提示
使用Spring boot +mybatis框架時,在service實現(xiàn)類中使用Mapper類,給Mapper類添加@Autowired注解時發(fā)現(xiàn)
有錯誤提示:could not autowire,no beans of "XXX" type found
但程序的編譯和運行都正常。
處理方式
方案一:@Autowired(required = false) 設(shè)置required 屬性值為 false,錯誤消失
方案二:用@Resource注解替換@Autowired注解,錯誤消失
@Resource注解與@Autowired注解的異同點
這兩個注解都是用作bean的注入時使用,都是為一個對象變量省去寫get,set方法,自動為這個對象注入實例化對象(即注入依賴)注入的方式還是有所區(qū)別的 :
@Autowired是基于spring的注解org.springframework.beans.factory.annotation.Autowired,它默認是按類型進行的裝配的,如果想要它按名字進行裝配則需在@autowired下面添加@qualifier("name")`注解,都無法找到唯一的一個實現(xiàn)類的時候報錯。@Autowired注解默認情況下必須要求依賴對象必須存在,如果要允許null值,則應(yīng)該設(shè)置它的required屬性為false,@Resource是基于j2ee的注解(可以減少了與spring的耦合),(JDK1.6以上支持)默認是按名字進行注解,若不指定裝配bean的名字,當(dāng)注解寫在字段上時,默認取字段名,按照名稱查找通過set方法進行裝配,倘若有多個子類,則會報錯。需要注意的是name屬性一旦指定,就只會按照名稱進行裝配
Spring的@Autowired注解報錯改為警告
使用@Autowired注解在idea里會有error提示,不影響程序正常運行,據(jù)我觀察身邊同事們大多也是選擇無視這個error,但一條紅線放在這看著確實難受。后來得知可以把這里的error改為warning,并且不會干擾其他代碼。

打開idea的settings,找到如下圖所示位置,修改自動注入時的error錯誤為warning警告。

成功修改后就不會有煩人的紅色下劃線了(變成了黃色的),不建議隨意修改這些檢測,除非你確實很了解它。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mybatis多數(shù)據(jù)源切換實現(xiàn)代碼
這篇文章主要介紹了Mybatis多數(shù)據(jù)源切換實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-10-10
Java調(diào)用opencv IDEA環(huán)境配置的教程詳解
這篇文章主要為大家詳細介紹了Java調(diào)用opencv IDEA環(huán)境配置的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
詳解Java?POI?excel自定義設(shè)置單元格格式
這篇文章主要介紹了Java?POI?excel設(shè)置單元格格式,自定義設(shè)置,設(shè)置單元格格式:來源_formats,更多數(shù)據(jù)類型從formats里面發(fā)現(xiàn),需要的朋友可以參考下2024-01-01
Java JSON轉(zhuǎn)成List結(jié)構(gòu)數(shù)據(jù)
這篇文章主要介紹了Java JSON轉(zhuǎn)成List結(jié)構(gòu)數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
如何將JSP/Servlet項目轉(zhuǎn)換為Spring Boot項目
這篇文章主要介紹了如何將JSP/Servlet項目轉(zhuǎn)換為Spring Boot項目,幫助大家更好的利用springboot進行網(wǎng)絡(luò)編程,感興趣的朋友可以了解下2020-10-10
詳解Java編程中final,finalize,finally的區(qū)別
這篇文章主要介紹了詳解Java編程中final,finalize,finally的區(qū)別,這個在Java面試題中簡直是太常見了...需要的朋友可以參考下2015-11-11
為何修改equals方法時還要重寫hashcode方法的原因分析
這篇文章主要介紹了為何修改equals方法時還要重寫hashcode方法的原因分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
使用Eclipse開發(fā)工具如何解決Java Compiler中Annotation Processin不出現(xiàn)的問題
這篇文章主要介紹了使用Eclipse開發(fā)工具如何解決Java Compiler中Annotation Processin不出現(xiàn)的相關(guān)資料,需要的朋友可以參考下2015-11-11
Springboot的Mapper中添加新的SQL語句方法詳解
在如今的軟件開發(fā)界,Spring Boot可是非常受歡迎的框架哦,尤其是在微服務(wù)和RESTful API的構(gòu)建上,下面給大家介紹我們?nèi)绾螢镾pring Boot項目中的Mapper添加新的SQL語句吧,感興趣的朋友一起看看吧2025-04-04

