登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
@Resource 和 @Autowired 的区别
@Resource 和 @Autowired 的区别
[ 复制链接 ]
黎瑞芝
2025-6-1 18:59:24
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
1、来源不同
@Autowired:Spring 自身提供的注解,位于 org.springframework.beans.factory.annotation 包中。
@Resource:
Java标准
中的注解,位于 javax.annotation 包中。
2、注入方式不同
@Autowired:默认按照
类型(byType)
进行自动注入。它会在 Spring 容器中查找匹配的类型进行注入。如果存在多个相同类型的 Bean,可以结合 @Qualifier 注解或 @Primary 注解来指定具体的 Bean。
@Autowired
private UserService userService;
复制代码
@Resource:默认按照
名称(byName)
进行注入。它首先根据名称匹配 Bean,如果找不到匹配的名称,则按照
类型
进行匹配。@Resource 注解有两个重要的属性:name 和 type。如果指定了 name,则按照名称进行注入;如果未指定 name,则默认取变量名作为 Bean 的名称进行查找。
@Resource(name = "userServiceImpl")
private UserService userService;
复制代码
3、支持的参数不同
@Autowired:仅包含一个参数 required,表示是否必须注入,默认值为 true。如果将其设置为 false,则在无法找到匹配的 Bean 时,不会抛出异常。
@Autowired(required = false)
private UserService userService;
复制代码
@Resource:包含多个参数,其中最常用的是 name 和 type。name 用于指定要注入的 Bean 的名称,type 用于指定要注入的 Bean 的类型。
@Resource(name = "userService", type = UserService.class)
private UserService userService;
复制代码
目前在项目中一般使用 @Resource,因@Resource是Java标准中的注解,更契合些。我们在IDEA中使用@Autowired注解时,IDEA会在@Autowired下打个波浪线,给你说是不推荐的。
跟 @Resource 和 @Autowired 功能相似的注解
@Qualifier:当存在多个相同类型的 Bean 时,@Qualifier 可与 @Autowired 配合使用,指定具体注入的 Bean。
@Autowired
@Qualifier("specificUserService")
private UserService userService;
复制代码
@Primary:当存在多个相同类型的 Bean 时,可以在其中一个 Bean 上使用 @Primary 注解,标识其为主要的候选者,优先注入该 Bean。
@Primary
@Component
public class PrimaryUserServiceImpl implements UserService {
// 实现细节
}
复制代码
老早就想把这两个注解的区别记录下了。今天终于如愿以偿了。
有些人,你用言语劝告根本不起作用,必须让他亲身经历失败,他才会得到真知。-- 烟沙九洲
◀ ◀
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
Resource
Autowired
区别
相关帖子
主键约束、唯一性约束、唯一性索引的区别
Spring AOP 与 Solon AOP 有什么区别?
linux系统目录和文件夹的区别
Spring @Component 和 @Bean 的区别与最佳实践
PostgreSQL三种关闭方式的区别
对于依赖注解,@Autowired 和 @Resource 有什么不同?
Motorola和Inter的区别
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
@Autowired 的Bug让我们白忙三天
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
主键约束、唯一性约束、唯一性索引的区别
3
198
宗和玉
2025-08-13
业界
Spring AOP 与 Solon AOP 有什么区别?
4
442
啤愿
2025-08-23
安全
linux系统目录和文件夹的区别
1
1093
颖顿庐
2025-08-28
业界
Spring @Component 和 @Bean 的区别与最佳实践
3
1181
剧拧并
2025-08-29
业界
PostgreSQL三种关闭方式的区别
1
740
侧胥咽
2025-09-06
业界
对于依赖注解,@Autowired 和 @Resource 有什么不同?
3
968
慢秤
2025-09-26
安全
Motorola和Inter的区别
4
829
史华乐
2025-10-13
业界
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
1
949
珠尿娜
2025-10-13
业界
@Autowired 的Bug让我们白忙三天
4
793
姬宜欣
2025-10-23
回复
(2)
嫁吱裨
2025-10-27 12:09:55
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
窖咎
4 天前
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
黎瑞芝
4 天前
关注
0
粉丝关注
12
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994893
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
235
研究 TikTok 爆款的人,一定要懂这类下载工
954
Java Optional 完全指南:优雅处理 null 的
21
全面封禁 Cursor!又一家大厂出手了
875
记一次MySQL binlog日志导致磁盘空间占满的
774
记一次MySQL binlog日志导致磁盘空间占满的
874
小白也能看懂的RLHF-PPO:原理篇
299
小白也能看懂的RLHF-PPO:原理篇
276
2026年主流原型设计工具:Axure、墨刀功能
66
邮箱怎么群发邮件给多个人
586
27个行业创新实践一次看|HarmonyOS SDK案
142
秋的启迪
780
秋的启迪
499
不止编程!Claude Code 跨界应用指南:5 大
21
VictoriaMetrics 尝鲜
962
高频OTA时代,如何用SIL测试兼顾软件可靠性
868
ROS2概念之分布式通信
707
通过.ovf和.vmdk导入VMware虚拟机
619
酷狗音乐api接口抓取 | 音乐管理系统
651
吴恩达深度学习课程四:计算机视觉 第二周
236
为什么 Iceberg 在数据湖领域这么火