@Autowired是根据类型注入,@Resource默认是根据名称注入

@Autowired注解基于类型进行依赖注入,当有多个匹配的bean时,可通过名称或限定符指定。@Resource默认按名称查找bean,其次按类型。两者都能简化Java代码,但行为上@Resource更注重名称匹配,而@Autowired侧重类型匹配。
摘要由CSDN通过智能技术生成

@Autowired@Resource 都是 Spring 框架中用来实现依赖注入(DI)的注解,但它们不完全相同。

@Autowired 注解用于指示要自动装配一个bean到Spring管理的Bean(例如Spring Bean),如果有多个Bean类型与所需类型匹配,则可以通过添加限定符或名称限制bean的选择。默认情况下,这对于查找符合所需接口或类的唯一可用bean是很有用的。除非您使用更高级别的组件扫描机制如<context:component-scan>,否则 bean 必须明确定义并注册在容器中。因此,@Autowirecd 是根据类型进行注入。

另一方面,@Resource 可以分为两种:按名称和按类型,默认情况下按"name"属性将寻找具有给定名称的 bean,并且只有当没有其他任何具有该名称时方才标识该位置。第二个形式按照认证信息搜索具有适当类型的bean。资源注释还可以从bean工厂外部参考其他媒体上定义的某些东西。 @Resource 也支持可选 “name” 属性、必需的 “type” 属性和描述性 “description” 属性。

总之,虽然这两个注释都可以显着减少Java代码中的麻烦,但除了这个外,它们所代表的实际行为是非常不同的。@Autowired 是根据类型进行注入,而 @Resource 则是根据名称或类型进行注入。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值