Spring注解之@autowired和@resource的区别

本文详细介绍了Spring框架中两种常见的依赖注入方式:@Autowired 和 @Resource 的区别与用法。@Autowired 按类型注入,而 @Resource 默认按名称注入。此外还提到了 @Required 注解的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[b]Spring注解之@autowired和@resource的区别[/b]


[b]@resource[/b]
1.@Resource 注解被用来激活一个命名资源(named resource)的依赖注入,
3.@Resource默认按 byName自动注入(名字相匹配)

@Resource(name="dataSource")
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}


@Resource注解甚至不需要一个显式的字符串值,在没有提供任何值的情况下,域名将被当作默认值。
@Resource
private DataSource dataSource; // inject the bean named 'dataSource'



[b]@autowired[/b]
1.@Autowired按byType自动注入(bean的类型相匹配)


[b]@Required[/b]
1.@Required注解检查,但他只检查属性是否已经设置而不会测试属性是否非空
2.@Required只能设置在setter方法上
3.@Required就是注解这个属性是否已经设值,如果没有设值就会抛BeanInitializationException


参考原文:[url]http://www.yiibai.com/spring/spring_required_annotation.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值