SpringBoot遇到的坑@Qualifier報紅的解決
SpringBoot遇到的坑@Qualifier報紅
今天寫項目的時候@Qualifier一直報紅,排查半天後面才知道原來是idea生成項目的時候把主配置的類放在一個包中導致默認包結構掃描發生改變,掃描不到你定義的組件,具體可以去看看SpirngBoot默認包結構規則。
解決方法
主配置類必須放在是你所掃描的包的父包上
SpringBoot註解@Qualifier用法
在Controller中需要註入service那麼我的這個server有兩個實現類如何區分開這兩個impl呢?
根據註入資源的註解不同實現的方式有一點小小的區別
下面上鋪墊圖
請忽略我的紅線
##在Controller中使用 @Autowired註入時
Qualifier的意思是合格者,通過這個標示,表明瞭哪個實現類才是我們所需要的,添加@Qualifier註解,需要註意的是@Qualifier的參數名稱為我們之前定義@Service註解的名稱之一。
##使用@Resource註入時
使用@resource註入時比較簡單瞭註解自帶瞭“name”的val就是@Service註解的名稱之一。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- 使用Springboot根據配置文件動態註入接口實現類
- 使用@Autowired註解有錯誤提示的解決
- 詳解Spring bean的註解註入之@Autowired的原理及使用
- 淺談spring DI 依賴註入方式和區別
- Spring註解@Qualifier的詳細用法你知道幾種