當一個接口有多個不同實現類時,使用注解@Autowired時會報 org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [xxxx] is defined ...
在spring 中使用注解,常使用 Autowired, 默認是根據類型Type來自動注入的。但有些特殊情況,對同一個接口,可能會有幾種不同的實現類,而默認只會采取其中一種的情況下 Primary 的作用就出來了。下面是個簡單的使用例子。有如下一個接口: 有下面的兩個實現類: 注入: I am singing with DIO voice: song lyrics. 原因很簡單,就是 Opera ...
2020-03-04 17:05 0 3364 推薦指數:
當一個接口有多個不同實現類時,使用注解@Autowired時會報 org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [xxxx] is defined ...
當一個接口有兩個實現類時,並兩個實現類都被 Spring 管理,則需要對某個類進行 @Primary 注解,表示優先選擇此實現類。 否則會拋出 異常 org.springframework.beans.factory.NoUniqueBeanDefinitionException ...
@Primary 注解 剛看到這個,還以為是持久層的注解呢,以為和@Id差不多,一查才知道,這兩個風馬牛不相及,反倒和@Qualifier以及@Resource有點像了,但是相比而言,后面兩個更加的靈活。 可以看這兩個博客【博客一】【博客二】 我覺得 ...
Qualifier注解,選擇一個對象的名稱,通常比較常用 3. 方案2-@Primary Primary可 ...
當一個接口存在多個實現的時候會報org.springframework.beans.factory.NoUniqueBeanDefinitionException類似的異常信息,項目中碰到引用別人事先寫好的框架,但是對於其中個別實現並不是很需要,因此可以通過使用@Primary注解進行處理 ...
簡單的說,就是當Spring容器掃描到某個接口的多個 bean 時,如果某個bean上加了@Primary 注解 ,則這個bean會被優先選用,如下面的例子: 因為 HibernateFooRepository 上面有注解@Primary,所以它將優先 ...
@Primary:在眾多相同的Bean中,優先使用@Primary注解的Bean。 這個和@Qualifier有點區別,@Qualifier指的是使用哪個Bean進行注入。 參考: http://blog.csdn.net/asdfsadfasdfsa/article/details ...
在Controller中需要注入service那么我的這個server有兩個實現類如何區分開這兩個impl呢 根據注入資源的注解不同實現的方式有一點小小的區別 在Controller中使用 @Autowired注入時 Qualifier的意思是合格者,通過這個標示,表明了哪個實現類才是 ...