1. 程式人生 > >@Autowired與@Qualifer的使用區別備忘

@Autowired與@Qualifer的使用區別備忘

使用 @Autowired 註釋進行byType注入,如果需要 byName(byName 就是通過 id 去標識)注入,增加 @Qualifier 註釋

@Qualifer 如果沒有的話,報的錯如下:

no unique bean of type [org.springframework.transaction.PlatformTransactionManager] is defined:expected single matching bean but found 2: [TransactionManager, ImsTransactionManager]

原因:

比如配置檔案中有二個 bean.

<bean id="jmstransactionmanager" class="org.springframework.jms.connection.jmstransactionmanager">
	<property name="connectionfactory" ref="advancedconnectionfactory" />
</bean>
<bean id="transactionmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
	<property name="datasource">
		<ref bean="cpcdatasource" />
	</property>
</bean>
表面看起來是不同型別的類,但是由於在 *service 裡面注入的屬性型別是 PlatformTransactionManager。由於上面的二個 bean 都實現了這個接口.這樣 @Autowired 時,由於是 byType 注入,就不能識別,此時就需要再加上 @Qualifer 通過 id 去識別。

而如果沒有使用 @Service 的話,報錯如下:

no unique bean of type ..... expected at least 1 matching bean

注意,這與上面的提示資訊區別.

相關推薦

@Autowired@Qualifer的使用區別

使用 @Autowired 註釋進行byType注入,如果需要 byName(byName 就是通過 id 去標識)注入,增加 @Qualifier 註釋 @Qualifer 如果沒有的話,報的錯如下: no unique bean of type [org.spring

autowiredresource區別

1、@Autowired屬於Spring的註解, 預設按型別裝配,依賴物件必須存在,如果要允許null值,可以設定它的required屬性為false   @Autowired(required=false),也可以使用名稱裝配,配合@Qualifier註解; 2、@Resou

CentOS 7 JDK8安裝配置【

【寫在前面】如果看完這篇部落格,對你有幫助的話,歡迎加入全棧技術交流群,群內不定時釋出熱門學習資料,也歡迎進行技術交流,對我的部落格有疑問也可以在群裡@我。《全棧技術交流群歡迎你》 [[email protected] home]# rpm -ivh jdk-8u172-l

STM32FreeRTOS學習,xSemaphoreGiveFromISR

在學習FreeRTOS的時候,使用中斷釋放訊號量時,出現了問題。 中斷函式卡在xSemaphoreGiveFromISR();函式裡了,具體是卡在portASSERT_IF_INTERRUPT_PRIORITY_INVALID();裡。 根據註釋檢視http://www.

:numpy中的matrixarray的區別

  參考:https://www.cnblogs.com/cymwill/p/7823148.html Numpy matrices必須是2維的,但是 numpy arrays (ndarrays) 可以是多維的(1D,2D,3D····ND). Matrix是Arr

IPV4IPV6 的 一點區別 (不深究、只記錄)

注:還未深入瞭解,目前只做備忘,留後續完善。 一、報文結構 1、從報文角度, 主要從 IP報文的第一欄位  版本 來區分 ipv4 與 ipv6; 2、IPV6刪除了 IPV4的某些欄位,如ch

基礎:細說newmalloc的10點區別

正文 回到頂部 前言 幾個星期前去面試C++研發的實習崗位,面試官問了個問題: new與malloc有什麼區別? 這是個老生常談的問題。當時我回答new從自由儲存區上分配記憶體,malloc從堆上分配記憶體;new/delete會呼叫建構函式/解構函式對

AngularJS之訣竅

slist ins 控制器 boot template amp 數據驗證 條件 yui 譯自:《angularjs》 備忘與訣竅 目前為止,之前的章節已經覆蓋了Angular所有功能結構中的大多數,包括指令,服務,控制器,資源以及其它內容.但是我們知道有時候僅僅閱讀是不

@Resource@Autowired註解的區別

resource java port autowire ans imp 默認 factor 屬於 @Resource默認按照名稱方式進行bean匹配,@Autowired默認按照類型方式進行bean匹配@Resource(import javax.annotation.Re

【轉】@Resource@Autowired註解的區別

一、寫本博文的原因   年初剛加入到現在的專案時,在使用註解時我用的@Resource。後來,同事:你怎麼使用@Resource註解?我:使用它有錯嗎?同事:沒錯,但是現在都使用@Autowired。我:我研究一下。 在大學,學習J2EE實訓時一直使用的是@Resource註解

MD5 SHA1 HMAC HMAC_SHA1區別(轉載網上大牛)個人和加註了

MD5 SHA1 HMAC HMAC_SHA1區別     什麼是MD5,什麼是SHA1,如何校驗這些Hash。還有拿單個apk檔案的MD5,SHA1訊問是不是原版的問題,在這裡,讓我們先來了解一些基本知識,瞭解Hash。     Hash,一般

@Autowired@Resource的區別(二)

這篇文章打算通過一個例項來詳解@AutoWired和@Resource。 我的專案中有兩個測試service分別是class A 和class B class A @Service public class A { } class B @Service

Debian Linux常用命令操作

screen 建立一個虛擬的終端(screen),在screen中執行需要長時間執行的程式可以避免由於ssh斷開導致程式終止 $ screen -S <name> //建立一個screen $ screen -list //列出已經存在的

】牛課演算法第四期初級班進階班視訊

├─初級 │      初級2.mp4 │      初級3.mp4 │      初級4-1.mp4 │      初級4-2.mp4 │      初級5.mp4 │      初級6.mp4 │      基礎7.mp4 │      基礎8.mp4 │      

】python神經網路演算法深度學習視訊

先準備好一個大硬碟,照著這個學習路線學習!站長也在學習這個教程,沿著數學->演算法->機器學習->資料探勘(分析)->人工智慧的學習路線學習。 第00_安裝包、開發工具、註冊(贈品) 第01階段-基礎必備篇    python3.6視訊零基礎2周快速

ubuntu系統裝機流程相關軟體安裝

前段時間說有機會把ubuntu裝機的流程貼上來,讓大家避免一些坑,今天電腦系統又崩了,就有了重灌系統的機會,雖然瀏覽器的收藏夾匯出了但沒儲存成功心都在流血,但還是要保持微笑。 下面就是流程啦。 裝一個系統盤重啟電腦什麼的就不說啦,注意的是裝的時候在最後一布把登陸需要密碼給

@Autowired @Resource的區別?

@Resource的作用相當於@Autowired,只不過@Autowired按byType自動注入,而@Resource預設按 byName自動注入罷了。@Resource有兩個屬性是比較重要的,分是name和type,Spring將@Resource註解的name屬性解析為bean的名字

Spring|@Autowirednew的區別

前兩天寫程式碼的時候遇到一個問題,通過new出來的物件,自動注入的屬性總是報空指標的錯誤。到網上查了資料,才發現問題所在,同時也加深了自己對於容器IOC的理解。現在把這個問題記錄一下,僅供大家參考。 【示例】 package com.example.SpringBootStudy.controlle

Android 資源屬性

幾天前我偶然發現了我Android開發早期時製作的一份學習備忘單,是為理解如何處理Android資源和主題屬性的語法而整理的。 令人意外的是,我發現它對現在的我非常有用,因此決定整理成更適合部落格的形式並分享給大家。 知道我們今天要討論的話題了,那麼請看下面,通過xml佈局設定

neon 的常見彙編指令程式碼對照【基礎

作者:歌神flaming  來源:CSDN  原文:https://blog.csdn.net/u010684585/article/details/78455993    .arm .text  .global cost_init cost_i