SpringBoot遇到的坑@Qualifier報紅的解決

SpringBoot遇到的坑@Qualifier報紅

今天寫項目的時候@Qualifier一直報紅,排查半天後面才知道原來是idea生成項目的時候把主配置的類放在一個包中導致默認包結構掃描發生改變,掃描不到你定義的組件,具體可以去看看SpirngBoot默認包結構規則。

在這裡插入圖片描述

解決方法

主配置類必須放在是你所掃描的包的父包上

SpringBoot註解@Qualifier用法

在Controller中需要註入service那麼我的這個server有兩個實現類如何區分開這兩個impl呢?

根據註入資源的註解不同實現的方式有一點小小的區別

下面上鋪墊圖

一個業務接口

請忽略我的紅線

第一個實現類

第二個實現類

##在Controller中使用 @Autowired註入時

autowired註入資源

Qualifier的意思是合格者,通過這個標示,表明瞭哪個實現類才是我們所需要的,添加@Qualifier註解,需要註意的是@Qualifier的參數名稱為我們之前定義@Service註解的名稱之一。

##使用@Resource註入時

@resource註入

使用@resource註入時比較簡單瞭註解自帶瞭“name”的val就是@Service註解的名稱之一。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: