IDEA 使用@Autowired提示Field injection is not recommended
摘要:IDEA 使用@Autowired提示Field injection is not recommended問(wèn)題的解決辦法。
??在使用@Autowired注解進(jìn)行bean注入,完成自動(dòng)裝配的工作時(shí),IDEA經(jīng)常會(huì)警告Field injection is not recommended。點(diǎn)擊查看警告詳細(xì):Spring Team recommends : “Always use constuctor based dependency injection in your beans ,Always use assertions for mandatory dependencies”。這句話的意思是Spring團(tuán)隊(duì)建議:“在對(duì)bean進(jìn)行依賴注入時(shí),請(qǐng)始終使用構(gòu)造器注入方式,始終對(duì)強(qiáng)制依賴項(xiàng)使用斷言”。
??但是構(gòu)造器注入方式就是因?yàn)榇a不夠簡(jiǎn)潔才被我們棄之不用的,而且用屬性注入時(shí),代碼位一直運(yùn)行正常。所以,我們可以忽略這個(gè)warning黃牌警告,其解決辦法有如下兩個(gè)。
將@Autowired注解替換為@Resource注解
??注解@Resource是先根據(jù)Bean的名稱去匹配Bean,若獲取不到,則根據(jù)類型去匹配。而注解@Autowired則是根據(jù)類型匹配,若想通過(guò)名稱匹配,則需要借助Spring的@Qualifier注解。
不檢查屬性注入
??IntelliJ IDEA 版本2021.3.1 (Ultimate Edition)。修改IDEA中Settings或者Performances里面,對(duì)屬性注入的檢查,依次找到:Performances->editor->code style->inspection-> Spring | Spring Core | Code | Non recommended 'field' injections,去掉鉤即可,如下圖所示:
結(jié)束語(yǔ)
??那么大家對(duì)于這件事都是怎么看的呢?歡迎在文章下方留言討論,三人行必有我?guī)熝桑?a href="http://www.rzrgm.cn/east7/" target="_blank">小編每條都會(huì)仔仔細(xì)細(xì)地看。
Buy me a coffee. ?Get red packets.
浙公網(wǎng)安備 33010602011771號(hào)