@Resource vs @Autowired

@Resource vs @Autowired,第1张

@Resource vs @Autowired

在3.0之前的spring中,哪一个都不重要。

在Spring 3.0中,支持标准(JSR-330)注释

@javax.inject.Inject
-将其与结合使用
@Qualifier
。请注意,spring现在还支持
@javax.inject.Qualifier
元注释:

@Qualifier@Retention(RUNTIME)public @interface YourQualifier {}

所以你可以有

<bean >   <qualifier type="YourQualifier"/></bean>

要么

@YourQualifier@Componentpublic class SomeBean implements Foo { .. }

然后:

@Inject @YourQualifier private Foo foo;

这样就减少了字符串名称的使用,因为字符串名称可能会拼写错误并且难以维护。

至于原始问题:两者都未指定注释的任何属性,而是按类型执行注入。区别在于:

  • @Resource
    允许你指定注入的bean的名称
  • @Autowired
    允许你将其标记为非强制性。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4921304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存