Spring注解 @Qualifier 说明、用法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 

-------------------------------------------- 我是分隔线 ---------------------------------------------------

@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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

把 excel 表中的数据 批量修改到指定数据库表中、根据 excel 表中数据修改数据库表中数据

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 收到一张 excel 表&#xff0c;要求根据 “转账时间”一列的值批量修改数据库表中 "放款时间"一列的值。 2. 写出 sql 模…

查看 linux 硬件信息:内存、分区、系统、环境变量、防火墙、路由、端口监听、进程、CPU...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、linux CPU大小&#xff1b; 其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg…

R语言 线性回归分析实例

y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元)&#xff0c;某国生产总值GDP(亿元)&#xff0c;财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型&#xff1a; ① 自己编写函数&#xff1a; > library(openxlsx) > data read.xlsx("22_data.xlsx",shee…

【Cef编译】 CefSharp编译失败,检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”...

编译CefSharp生成后一个libcef_dll_wrapper.lib时&#xff0c;供CefSharp使用。结果CefSharp编译的时候报错。遇到以下异常&#xff1a;libcef_dll_wrapper.lib(binary_value_ctocpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值…

CEF编译 执行gn args out\Release_GN_x86异常

gn args out\Debug_GN_x86 用来配置编译参数&#xff0c;执行gn args out\Release_GN_x86时异常&#xff1a; Toolchain is out of date. Run "gclient runhooks" to update the toolchain, or set DEPOT_TOOLS_WIN_TOOLCHAIN0 to use the locally installed toolcha…

拜托!面试请不要再问我 Spring Cloud 底层原理 ...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 >出处&#xff1a; >https://www.fangzhipeng.com > 本文出自[方志朋的博客](http://blog.csdn.net/forezp) 本文为转载文章&…

springCloud - 第1篇 - 服务的注册 Eureka

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS&#xff1a;这个系列不定时更新&#xff0c;只是个人的学习分享&#xff0c; 内容全程参考书目&#xff1a; 《Spring Cloud 与 Do…

解决:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘ip‘ at row 1

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 报错&#xff1a; SQL []; Data truncation: Data too long for column ip at row 1; nested exception is com.mysql.jdbc.MysqlDa…

Xampp配置本地域名及常见错误解决

Xampp配置本地域名及常见错误解决 本地域名配置1、计算机-->C盘-->Windows-->System32-->drivers-->etc-->hosts127.0.0.1 localhost//设置你要配置的本地域名2、计算机-->XAMPP-->apache-->conf-->extra-->httpd-vhosts.conf<Virtu…

解决 Idea 卡在 Resolving Maven dependencies ...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Idea卡在Resolving Maven dependencies的解决方案 在Reimpot All Maven Porjects时, 如果项目过大, maven依赖过多, 会直接卡在Resolvin…

VS Code (visual studio code) VSC 编辑器(微软出品,js开发的编辑器)

一.选择合适的编辑器&#xff0c;提高编程效率 代码编辑器的选择&#xff0c;可以说是开发者社区中一个经久不衰的话题&#xff0c;现今编辑器的数量数不胜数&#xff0c;vim&#xff0c;sublime Text,Emacs,Atom等等&#xff0c;那么对于一个开发者而言&#xff0c;挑选一个合…

Docker 安装 redis 、Redis docker 方式部署

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 找镜像&#xff1a; docker search redis2. 拉取镜像&#xff1a; 在这一步可以选择版本&#xff0c;不选择版本&#xff0c;默认为…

xcode windows版安装使用教程

随着iPhone、iPad、Mac等苹果产品越来越火爆&#xff0c;越来越多的初学者想要了解和尝试苹果平台&#xff0c;包括苹果操作系统Mac OS X、苹果演示软件Keynote、苹果开发工具Xcode等。然而&#xff0c;苹果电脑价格昂贵&#xff0c;并不是每个人都可以承受。 因此&#xff0c;…

解决:Unable to open debugger port (127.0.0.1:55017): java.net.SocketException “Socket closed“

项目以前启动正常&#xff0c;突然报错&#xff0c;启动不起来了&#xff0c;报了个Unable to open debugger port (127.0.0.1:55017): java.net.SocketException "Socket closed"这个错。 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;…

html5 如何打包成apk,将H5封装成android应用APK文件的几种方法

直接使用编程软件提供的方法&#xff1a; 1、需要下载安装MyEclipse2014&#xff0c;Android SDK&#xff0c;eclipse(需配置Android开发环境) Java和Android环境安装与配置。 2、打开MyEclipse2014&#xff0c;新建一个HTML5 Mobile Application Project&#xff0c;命名&…

解决 Unmapped Spring configuration files found.Please configure Spring facet.

最近在学习使用IDEA工具&#xff0c;觉得与Eclipse相比&#xff0c;还是有很多的方便之处。 但是&#xff0c;当把自己的一个项目导入IDEA之后&#xff0c;Event Log提示“Unmapped Spring configuration files found.Please configure Spring facet.” 这个提示不影响工程正…

uni-app—从安装到卸载

uni-app实现了一套代码&#xff0c;同时运行到多个平台。支持iOS模拟器、Android模拟器、H5、微信开发者工具、支付宝小程序Studio、百度开发者工具、字节跳动开发者工具 工具安装 开发uni-app需要安装HBuilder X.下载地址。 下载成功后直接解压即可 简单的配置一下开发偏好&am…

jenkins 执行构建 并查看结果

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 继完成构建项目配置http://www.cnblogs.com/yajing-zh/p/5111060.html后&#xff0c;则要执行构建。 回到jenkins主页之后&#xff0c;…

使用jquery获取url及url参数的方法

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1、jquery获取url很简单&#xff0c;代码如下&#xff1a; window.location.href; 其实只是用到了javascript的基础的window对象&#xff0c;并没有用jquery的知识。 2、jquery获取url参数比较复杂&#xff…

js 遍历对象的几种方法

第一种&#xff1a; for......in const obj {id:1,name:zhangsan,age:18}for(let key in obj){console.log(key --- obj[key])} 输出结果&#xff1a; 第二种&#xff1a; 1&#xff09;、Object.keys&#xff08;obj&#xff09; 2&#xff09;、Object.values&#xff08…