关于Springboot中的@Autowised 和 @Resource 注解的区别

3 篇文章 0 订阅

开发springboot过程中,使用@Autowised注解出现红色下划线报错问题,查询后改用@Resource解决,在这里记录一下两者的区别

相同点

@Autowised 与 @Resource两个注解都可以用来进行对象的自动注入

区别

首先,@Autowised 是spring中的,@Resource是j2ee的,还有就是两种注入查找顺序的区别。

@Autowised:(类型优先)

1.默认在spring容器中找到实现类(byType),
在这里插入图片描述
如图所示,会找到Demo的实现类DemoImpl进行注入

2.如果出现多个实现类的情况下,则会报错(不知道应该使用哪一个)
在这里插入图片描述
3.如果出现多个实现类,可以使用 如Qualifier(“DemoImpl2”) 指定所需要的DemoImpl2

@Resource :(名字优先)

@Resource
private Demo demo;

1.会先在spring容器中找到名字相同的类(byName),即使有多个实现类,但是只需要在spring中注册时,使用了(如demo)对该实现类进行命名,则会自动找到该类

2.如果类没有命名,则会根据类型查找它的实现类(byType),如果不唯一,则报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值