@Resource 和 @Autowired区别

本文比较了Spring框架的@Autowired与JavaJSR-250规范的@Resource注解在来源、查找顺序、参数支持及灵活性上的差异,强调了两者在不同场景下的适用性。
@Resource和@Autowired都是用于实现依赖注入的注解,但它们之间有一些区别:

1. 来源不同:
@Autowired来自Spring框架,而@Resource来自Java的JSR-250规范。
因此,@Autowired是Spring特定的,而@Resource是Java标准的。

2. 依赖查找的顺序不同:
@Autowired首先根据类型,然后根据名称进行查找。
@Resource首先根据名称,然后根据类型进行查找,如果名称匹配到了,就忽略类型。

3. 支持的参数不同
@Autowired只支持设置一个参数,即required,表示是否必须注入,默认为true。
@Resource支持设置七个参数,其中最重要的是name和type。

@Resource注解更灵活,可以注入任何类型的Bean,但默认按名称注入;而@Autowired注解更常用,可以根据类型自动注入,但只能注入Spring管理的Bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值