您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么解決使用@Autowired注解有錯誤提示”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么解決使用@Autowired注解有錯誤提示”吧!
使用Spring boot +mybatis框架時,在service實現類中使用Mapper類,給Mapper類添加@Autowired注解時發現
有錯誤提示:could not autowire,no beans of "XXX" type found
但程序的編譯和運行都正常。
方案一:@Autowired(required = false) 設置required 屬性值為 false,錯誤消失
方案二:用@Resource注解替換@Autowired注解,錯誤消失
這兩個注解都是用作bean的注入時使用,都是為一個對象變量省去寫get,set方法,自動為這個對象注入實例化對象(即注入依賴)注入的方式還是有所區別的 :
@Autowired
是基于spring的注解org.springframework.beans.factory.annotation.Autowired,它默認是按類型進行的裝配的,如果想要它按名字進行裝配則需在@autowired下面添加@qualifier("name")`注解,都無法找到唯一的一個實現類的時候報錯。@Autowired注解默認情況下必須要求依賴對象必須存在,如果要允許null值,則應該設置它的required屬性為false,
@Resource
是基于j2ee的注解(可以減少了與spring的耦合),(JDK1.6以上支持)默認是按名字進行注解,若不指定裝配bean的名字,當注解寫在字段上時,默認取字段名,按照名稱查找通過set方法進行裝配,倘若有多個子類,則會報錯。需要注意的是name屬性一旦指定,就只會按照名稱進行裝配
使用@Autowired注解在idea里會有error提示,不影響程序正常運行,據我觀察身邊同事們大多也是選擇無視這個error,但一條紅線放在這看著確實難受。后來得知可以把這里的error改為warning,并且不會干擾其他代碼。
打開idea的settings,找到如下圖所示位置,修改自動注入時的error錯誤為warning警告。
成功修改后就不會有煩人的紅色下劃線了(變成了黃色的),不建議隨意修改這些檢測,除非你確實很了解它。
到此,相信大家對“怎么解決使用@Autowired注解有錯誤提示”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。