摘要:IDEA 使用@Autowired提示Field injection is not recommended
問題的解決辦法。
在使用@Autowired注解進行bean注入,完成自動裝配的工作時,IDEA經常會警告Field injection is not recommended
。點擊查看警告詳細:Spring Team recommends : “Always use constuctor based dependency injection in your beans ,Always use assertions for mandatory dependencies”。這句話的意思是Spring團隊建議:“在對bean進行依賴注入時,請始終使用構造器注入方式,始終對強制依賴項使用斷言”。
但是構造器注入方式就是因為代碼不夠簡潔才被我們棄之不用的,而且用屬性注入時,代碼位一直運行正常。所以,我們可以忽略這個warning黃牌警告,其解決辦法有如下兩個。
將@Autowired注解替換為@Resource注解
注解@Resource是先根據Bean的名稱去匹配Bean,若獲取不到,則根據類型去匹配。而注解@Autowired則是根據類型匹配,若想通過名稱匹配,則需要借助Spring的@Qualifier注解。
不檢查屬性注入
IntelliJ IDEA 版本2021.3.1 (Ultimate Edition)。修改IDEA中Settings或者Performances里面,對屬性注入的檢查,依次找到:Performances->editor->code style->inspection-> Spring | Spring Core | Code | Non recommended 'field' injections
,去掉鈎即可,如下圖所示:

結束語
那么大家對於這件事都是怎么看的呢?歡迎在文章下方留言討論,三人行必有我師焉!小編每條都會仔仔細細地看。