@Autowired @Resource @Qualifier的区别

news/2024/2/27 21:06:55

@Autowired@Resource@Qualifier 是在Spring框架中用于管理依赖注入和连接Bean的常用注解,它们各自有不同的用途:

  • @Autowired 主要用于基于类型的注入。
  • @Resource 用于基于名称的注入,不仅限于Spring。
  • @Qualifier 用于在存在多个相同类型的Bean可供注入时,指定Bean的名称或标识符,通常与 @Autowired@Resource 结合使用来解决歧义问题。
  1. @Autowired
    • @Autowired 是Spring特有的注解,用于自动依赖注入。当你将字段、构造函数或setter方法标记为 @Autowired 时,Spring会自动根据类型来解析和注入适当的Bean。
    • 如果存在多个相同类型的Bean,Spring 可能不知道应该注入哪个,因此你可能需要在 @Autowired 旁边使用 @Qualifier,以指定Bean的名称。

示例:

@Autowired
private SomeService someService;
  1. @Resource
    • @Resource 是标准的Java EE注解,但也被Spring支持。它用于按名称进行依赖注入。你可以使用 @Resource 标注字段、setter方法或构造函数参数,并指定要注入的Bean的名称。
    • @Autowired 不同,@Resource 允许按名称进行注入,并且可以用于从Spring之外的其他框架或资源中注入依赖项。

示例:

@Resource(name = "someServiceBean")
private SomeService someService;
  1. @Qualifier
    • @Qualifier 常常与 @Autowired@Resource 结合使用,当存在多个相同类型的Bean可供注入时,你可以使用 @Qualifier 来指定要使用的Bean。
    • 通过使用 @Qualifier,你提供了一个唯一的标识符(通常是Bean的名称),以消除哪个Bean应该被注入的歧义。

带有 @Autowired@Qualifier 的示例:

@Autowired
@Qualifier("someServiceBean")
private SomeService someService;

http://www.ppmy.cn/news/1129306.html

相关文章

Unity - 实践: Metallic流程贴图 转 Specular流程贴图

文章目录 目的Metallic Flow - SP - 输出输出的 MRA (MGA) 贴图 Metallic->Specular (根据教程一步一步实践)1. Base color Metallic -> Diffuse2. Base color Metallic -> Specular3. Roughness -> Glossiness输出贴图,在 unity 中展示:M…

iOS 视频压缩 mov转mp4 码率

最近还是因为IM模块的功能,IOS录制MOV视频发送后,安卓端无法播放,迫不得已兼容将MOV视频转为MP4发送。 其中mov视频包括4K/24FPS、4K/30FPS、4K/60FPS、720p HD/30FPS、1080p HD/30FPS、1080p HD/60FPS! 使用AVAssetExportSessi…

无服务器(serverless)函数是什么?

在云出现之后,最具创新的特性之一就是云函数服务,有时也称为“函数即服务( functions-as-a- service)或是“无服务器”(serverless)特性。云函数是一种执行模型,不需要何长期存在的基础设施。当事件发生时(如接收到新的 HTTP请求或是某个对象…

HC32 IIC/I2C读写

IIC状态码 IIC 初始化 void iicInit(uint32_t speed) {stc_gpio_cfg_t stcGpioCfg;DDL_ZERO_STRUCT(stcGpioCfg);Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE); //开启GPIO时钟门控stcGpioCfg.enDir GpioDirOut; ///< 端口方向配置…

redis实现布隆过滤器

1 概述 布隆过滤器是一种基于概率的数据结构&#xff0c;用于判断一个元素是否存在于一个集合中。相比于传统的数据结构&#xff0c;布隆过滤器具有占用空间少、查询速度快的特点&#xff0c;常被用于缓存、爬虫去重等场景。Redis 作为一款流行的 NoSQL 数据库&#xff0c;也提…

源码编译安装pkg-config

安装环境&#xff1a;银河麒麟 1 到这个网址下载pkg-config源码&#xff1a; Index of /releases (pkg-config.freedesktop.org) 2 解压 3 进入解压后的目录。输入 ./configure 但是报错。 4 根据报错信息&#xff0c;将configure改为&#xff1a; ./configure --with-i…

Spring Cloud Netflix 教程和源码

本教程目标 想要系统地学习 Spring Cloud Netflix&#xff0c; 把自己的学习过程记录下来。 状态 持续更新中 微服务架构 微服务架构是一种将应用程序拆分为一组独立的、可独立部署的服务的架构模式。每个服务都运行在自己的进程中&#xff0c;可以独立地进行开发、测试和…

038:mapboxGL 旋转地图(rotateTo)

第038个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中旋转地图。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共68行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhuan…

0x2C动态定义数据标识符服务

其实就是临时在指定地址创建个信息DID&#xff0c;里面可以存写临时数据&#xff0c;到时候可以给自己读写&#xff0c;但是这东西一重启或者过段时间就没了。要用0x22服务去读取&#xff0c;0x2A来写&#xff0c;不能用0x2E来写&#xff0c;协议认为0x2E不能指定地址来写。 这…

git_06_创建分支/查看分支

创建分支 # 创建分支的同时&#xff0c;切换到该分支上 > git checkout -b 分支名称 # 将本地分支推送到远端 > git push origin 分支名称:分支名称查看分支 # 查看本地分支 > git branch # 查看远程分支 > git branch -r # 查看所有分支 > git branch -a切换…

蓝桥等考Python组别七级003

第一部分:选择题 1、Python L7 (15分) 下面for循环语句中,变量i的取值范围是( )。 for i in range(1, 8): print(i) 1~81~70~80~7正确答案:B 2、Python L7 (15分) 下面哪一年是闰年?( ) 1994年

Oracle 11g_FusionOS_安装文档

同事让安装数据库&#xff0c;查询服务器信息发现操作系统是超聚变根据华为openEuler操作系统更改的自研操作系统&#xff0c;安装过程中踩坑不少&#xff0c;最后在超聚变厂商的技术支持下安装成功&#xff0c;步骤可参数该文。 一、 安装环境准备 1.1 软件下载 下载地址:…

Docker制作镜像并部署bind9(yum安装bind)--use

镜像制作 1.1 下载镜像 docker pull centos:centos7.9.2009 1.2 运行容器 [rootlocalhost ~]# docker run -d \ --privileged \ --namebind9 \ --restartalways \ -p 53:53/udp \ -p 53:53/tcp \ -v /data/bind9:/etc/bind \ -v /sys/fs/cgroup:/sys/fs/cgroup \ centos:ce…

【Verilog 教程】 6.1Verilog函数

关键词&#xff1a;函数&#xff0c;大小端转换&#xff0c;数码管译码 在 Verilog 中&#xff0c;可以利用任务&#xff08;关键字为 task&#xff09;或函数&#xff08;关键字为 function&#xff09;&#xff0c;将重复性的行为级设计进行提取&#xff0c;并在多个地方调用…

【红日靶场】vulnstack2-完整渗透过程

文章目录 一、网络拓扑二、描述配置环境渗透开始信息收集开始攻击干掉杀软cs上线权限提升 内网探测横向移动再次横向rdp连接痕迹清除 总结&#xff1a; 一、网络拓扑 网络配置&#xff1a; 二、描述 红队实战系列&#xff0c;主要以真实企业环境为实例搭建一系列靶场&#x…

SpringMVC 学习(八)整合SSM

10. 整合 SSM (1) 新建数据库 CREATE DATABASE SSM;USE SSM;DROP TABLE IF EXISTS BOOKS;CREATE TABLE BOOKS (BOOK_ID INT(10) NOT NULL AUTO_INCREMENT COMMENT 书ID,BOOK_NAME VARCHAR(100) NOT NULL COMMENT 书名,BOOK_COUNTS INT(11) NOT NULL COMMENT 数量,DETAIL VARCH…

Python的单选框、复选框、下拉框、消息提示框、文件对话框

优秀教程&#xff1a;https://zhuanlan.zhihu.com/p/569960987?utm_id0 单行文本框 - Entry textvariable&#xff1a;单行文本框变量&#xff0c;String类型&#xff0c;可以使用变量的set和get可以获取或设置值show&#xff1a;单行文本框内文字显示方式&#xff0c;如密码…

docker系列(9) - docker-compose

文章目录 9. compose编排9.1 介绍9.2 安装9.3 compose常用命令9.4 编排微服务9.4.1 准备docker-compose.yml9.4.2 启动服务9.4.3 测试验证 9. compose编排 9.1 介绍 多服务部署工具&#xff0c;通过一个docker-compose.yml模板文件&#xff0c;定义一组关联的应用容器为一个项…

13.(开发工具篇github)如何在GitHub上上传本地项目

一:创建GitHub账户并安装Git 二:创建一个新的仓库(repository) 三、拉取代码 git clone https://github.com/ainier-max/myboot.git git clone git@github.com:ainier-max/myboot.git四、拷贝代码到拉取后的工程 五、上传代码 (1)添加所有文件到暂存

java 根据身份证号码判断性别

在Java中&#xff0c;您可以根据身份证号码的规则来判断性别。中国的身份证号码通常采用的是以下规则&#xff1a; 第17位数字代表性别&#xff0c;奇数表示男性&#xff0c;偶数表示女性。 通常&#xff0c;男性的出生日期的第15、16位数字是01&#xff0c;女性是02。 请注意&…
最新文章