前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。?
-------------------------------------------- 我是分隔線 ---------------------------------------------------
@Qualifier:限定描述符,用于細粒度選擇候選者
- @Autowired 默認是根據類型進行注入的,若有多個類型一樣的 Bean 候選者,則需限定其中一個,否則將拋出異常。
- @Qualifier 限定描述符除了能根據名字進行注入,更能進行更細粒度的控制如何選擇候選者。
根據基于 XML 配置中的 <qualifier> 標簽指定的名字進行注入,使用如下方式指定名稱:
- 其中 type 屬性可選,指定類型,默認就是 Qualifier 注解類
- name 就是給 Bean 候選者指定限定標識符
- 一個 Bean 定義中只允許指定類型不同的 <qualifier>,如果有多個相同 type 后面指定的將覆蓋前面的。
使用舉例:
或者:
缺省的根據 Bean 的名字注入:
最基本方式,是在 Bean 上沒有指定 <qualifier> 標簽時一種容錯機制,即缺省情況下使用 Bean 標識符注入,
但如果你指定了 <qualifier> 標簽將不會容錯。
-------------------------------------------- 我是分隔線 -----------------------------------------------
?
在Controller中需要注入service那么我的這個server有兩個實現類如何區分開這兩個impl呢?
在Controller中使用 @Autowired注入時:
Qualifier 的意思是合格者,通過這個標示,表明了哪個實現類才是我們所需要的,添加 @Qualifier 注解,需要注意的是@Qualifier 的參數名稱為我們之前定義 @Service 注解的名稱之一。
使用 @Resource 注入時:
使用 @resource 注入時比較簡單,注解自帶了 “name”? 的 val,即 @Service 注解的 name 之一。
-------------------------------------------- 我是分隔線 -------------------------------------------
?
?
轉自:
https://cloud.tencent.com/developer/article/1338490
https://my.oschina.net/u/3847203/blog/2252414
https://blog.csdn.net/qq_36567005/article/details/80611139
https://blog.csdn.net/chl191623691/article/details/79729577