登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
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让我们白忙三天
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
主键约束、唯一性约束、唯一性索引的区别
2
191
宗和玉
2025-08-13
业界
Spring AOP 与 Solon AOP 有什么区别?
4
439
啤愿
2025-08-23
安全
linux系统目录和文件夹的区别
1
1087
颖顿庐
2025-08-28
业界
Spring @Component 和 @Bean 的区别与最佳实践
3
1177
剧拧并
2025-08-29
业界
PostgreSQL三种关闭方式的区别
0
737
侧胥咽
2025-09-06
业界
对于依赖注解,@Autowired 和 @Resource 有什么不同?
3
963
慢秤
2025-09-26
安全
Motorola和Inter的区别
4
816
史华乐
2025-10-13
业界
char和varchar的区别?VARCHAR(100)和 VARCHAR(10)的区别?Mysql字段类型20连问
0
946
珠尿娜
2025-10-13
业界
@Autowired 的Bug让我们白忙三天
3
789
姬宜欣
2025-10-23
回复
(2)
嫁吱裨
2025-10-27 12:09:55
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
窖咎
昨天 22:59
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
代码
签约作者
程序园优秀签约作者
发帖
黎瑞芝
昨天 22:59
关注
0
粉丝关注
12
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
361
爬虫专栏:破解网站检测selenium反爬——“
833
开源项目分享:Gitee热榜项目 2025年12月第
49
意识的自反性:知者与作者之惑
680
docker学习笔记
763
docker学习笔记
683
咱们聊聊Spring循环依赖那点事儿:从“死锁
156
Python学习3
832
NCHU-数字电路模拟程序-23207332
234
LaTeX学习笔记:学术文档排版
217
昆明黄金店推荐:如何甄选“价值平权”的黄
936
微信支付集成_JSAPI
882
【AI编程】5分钟用AI复刻有BOSS战的《坦克
627
紧跟材料趋势,深耕专业工艺:上海芮生建设
665
FFmpeg开发笔记(九十四)基于Kotlin的国产
743
昆明旅游打卡必去:逛南亚风情园,别错过廖
881
大厂生存启示录:从“螺丝钉”到“金牌个人
217
AI编程工具策略
265
self introduction
53
白嫖最新ChatGPT和主流AI大模型,国内无限
70
Java关键字解析之volatile:可见性的守护者