@Autowired注解和@Resource注解的区别

@Autowired 和 @Resource 都是用于依赖注入(Dependency Injection)的注解,

区别如下:

1、来源不同:

@Autowired 是Spring框架的注解,用于自动装配bean。
@Resource 是Java EE(Java Platform, Enterprise Edition)规范的一部分,提供了一种在Java EE环境中进行依赖注入的方式。在Java SE环境中也可以使用,但需要引入相应的依赖。

2、注入方式不同:

@Autowired 可以用在字段、构造方法和方法上,通过类型匹配进行注入。如果有多个匹配的bean,可以使用@Qualifier注解指定具体的bean。
@Resource 主要是通过按照名称进行注入,可以指定name属性来指定bean的名称。如果没有指定name属性,它会按照默认的规则(先按照名称查找,再按照类型查找)来选择注入的bean。

3、兼容性不一样:

@Autowired 是Spring特有的注解,因此在非Spring环境中无法使用。
@Resource 是Java EE规范的一部分,因此在Java EE环境中可以使用,同时也可以在Spring中使用。

4、可选性上有些区别:

@Autowired 注解的required属性默认为true,表示被注入的bean必须存在,否则会抛出异常。可以通过设置required = false来使注入变为可选。
@Resource 注解的required属性默认为true,表示被注入的bean必须存在,可以通过设置required = false来使注入变为可选。

示例:

// 使用@Autowired注解
@Component
public class MyComponent {@Autowiredprivate MyService myService;// constructor, methods
}// 使用@Resource注解
@Component
public class MyComponent {@Resource(name = "myService")private MyService myService;// constructor, methods
}

总结:

@Autowired 是Spring提供的一种依赖注入方式,而@Resource 是Java EE规范提供的方式,它们在使用上有一些细微的差别。在Spring应用中,通常使用@Autowired 更为常见。

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

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

相关文章

docker数据卷详细讲解及数据卷常用命令

docker数据卷详细讲解及数据卷常用命令 Docker 数据卷是一种将宿主机的目录或文件直接映射到容器中的特殊目录,用于实现数据的持久化和共享。Docker 数据卷有以下特点: 数据卷可以在一个或多个容器之间共享和重用,不受容器的生命周期影响。…

计算机毕业设计 基于SpringBoot的医院档案管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C++单调向量算法:132 模式解法三枚举1

本题不同解法 包括题目及代码C二分查找算法:132 模式解法一枚举3C二分查找算法:132 模式解法二枚举2代码最简洁C二分查找算法:132 模式解法三枚举1性能最佳C单调向量算法:132 模式解法三枚举1 分析 时间复杂度 2轮循环时间复杂…

IIC总线概述和通信时序代码详细图文解析

IIC总线 1 IIC总线概述 I2C总线两线制包括:串行数据SDA(Serial Data)、串行时钟SCL(Serial Clock)。总线必须由主机(通常为微控制器)控制,主机产生串行时钟(SCL&#x…

eclipse启动无法找到类(自定义监听器)

一.报错 二.排查 1.首先检查代码是否有问题 本人报错是找不到监听器,故检查监听器的代码和web.xml文件是否有问题 public class DoorListener implements ServletContextListener 监听器是否继承并实现ServletContextListener中的方法。 web.xml中: &…

rabbitMQ的direct模式的生产者与消费者使用案例

消费者C1的RoutingKey 规则按照info warn 两种RoutingKey匹配 绑定队列console package com.esint.rabbitmq.work03;import com.esint.rabbitmq.RabbitMQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;/*** 消费者01的消息接受*/ p…

天津市专业大数据培训班,大数据就业岗位的多样性

大数据技术应用广泛,几乎涉及到了各个行业和领域。毕业后,我们可以选择从事大数据工程师、数据分析师、数据科学家等职业,也可以选择进入金融、医疗、电商等行业进行数据分析和决策支持。 大数据就业岗位多样 大数据培训所涉及的就业岗位有…

微信小程序H5 uniapp

最近微信小程序对有视频播放的审核严,需要提供“文娱类资质”。而申请这个资质比较繁琐。所以我们在小程序上用web-view做跳转到H5,H5使用uniapp编写。这是小程序关于web-view文档说明。https://developers.weixin.qq.com/miniprogram/dev/component/web…

ClickHouse的分片和副本

1.副本 副本的目的主要是保障数据的高可用性,即使一台ClickHouse节点宕机,那么也可以从其他服务器获得相同的数据。 Data Replication | ClickHouse Docs 1.1 副本写入流程 1.2 配置步骤 (1)启动zookeeper集群 (2&…

达尔优EK87键盘说明书

EK87说明书连接说明: **有线模式:**开关拨到最右边,然后插线连接电脑即可使用 2.4G **接收器模式:**开关拨到中间,然后接收器插入电脑USB接口即可使用 **蓝牙模式:**开关拨到最左边,然后按FNQ长…

模拟实现一个Linux中的简单版shell

exec系列接口中的环境变量 在之前我们学习了exec系类函数的功能就是将一个程序替换成另外一个程序。 然后就会出现下面的问题: 首先父进程对应的环境变量的信息是从bash中来的,因为我们自己写的父进程在运行的时候首先就要成为bash的子进程。这里我们将…

2023年亚太杯数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录 0 赛题思路1 描述2 问题概括3 建模过程3.1 边界说明3.2 符号约定3.3 分析3.4 模型建立3.5 模型求解 4 模型评价与推广5 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 描述 …

SSL证书哪个品牌最好用?

现在市面上的SSL证书品牌有很多,选购SSL证书时有很多人并不是很清楚,因此有很多伙伴对于选择哪个SSL证书品牌而感到疑惑。今天JoySSL小编就专门介绍下哪些比较好用的SSL证书品牌。 SSL证书兼容性主要包含操作系统、浏览器、服务器三个方面,好…

LeetCode题 338比特位计数,20有效的括号,415字符串相加

目录 338比特位计数 题目要求: 解题思路: 1、暴力穷举 代码: 2、N&(N - 1)公式求解 代码: 3、奇偶数性质解法: 代码: 20有效的括号 题目要求: 解题思路 …

直播预告:全球通邮-如何保障安全、快捷的海外中继服务

高校国际交流中,邮件一直扮演着不可或缺的角色,在学术交流中具有至关重要的地位。 然而,在进行跨境学术交流时,由于海外通邮错综复杂,高校师生常常会遇到跨境邮件收发延迟或失败、链路不稳定等问题,导致高校…

TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt

一、换内存,拆闪存: 1、先原机开机试试是否功能正常; 2、拆机,比较难拆,容易坏外壳; 3、找到内存和闪存,用胶带把边上的小元件,电阻都贴好; 4、加助焊油,用风…

GMS CTS测试命令汇总

目录 跑CTS之前的准备 样机环境要求 跑各模块版本要求 CTS 简介 复测上轮的失败项 多台设备测试 单跑指定模块和测试用例 GTS VTS STS GSI 获取fingerprint 跑CTS之前的准备 样机环境要求 1、打开stay wake(保持屏幕常亮)、OEM unlocking、…

Android 屏幕适配

目录 一、为什么要适配 二、几个重要的概念 2.1 屏幕尺寸 2.2 屏幕分辨率 2.3 屏幕像素密度 2.4 屏幕尺寸、分辨率、像素密度三者关系 三、常用单位 3.1 密度无关像素(dp) 3.2 独立比例像素(sp) 3.3 dp与px的转换 四、解决方案 4.1 今日头条…

基于SSM的项目管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

nacos客户端连接服务端报Client not connected, current status:STARTING

说明&#xff1a; nacos服务端版本&#xff1a;v2.1.2 nacos客户端版本&#xff1a;2.1.2 结果启动项目报错&#xff1a; Client not connected, current status:STARTING 解决&#xff1a; 降低客户端版本至 1.4.1 就Ok了 <dependency><groupId>com.alibaba.naco…