java - @Resource和@Autowired两种注入区别
ringa_lee
ringa_lee 2017-04-18 09:40:48
[Java讨论组]

第一种注入方式:

@Autowired
private WorkOrderBo                   logisticsWorkOrderBo;

第二中注入方式:

@Resource(name = "workOrderLogisticsBo")
private WorkOrderBo              workOrderLogisticsBo;

有何区别?

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
伊谢尔伦

@Resourcejavax.annotation包里定义,是java的一部分
@Autowiredorg.springframework.bean.factory包里定义,是spring框架的一部分

这算是区别么?

功能上,二者近乎一致:

@Autowired

  1. 匹配Type

  2. Qualifier约束

  3. 匹配Name

@Resource

  1. 匹配Name

  2. 匹配Type

  3. Qualifier约束(如果按Name匹配成功,忽略Qualifier)

PHPz

Spring注解注入

高洛峰
  • @Autowired是Spring的注解,@Resource是Java EE自带的注解

  • @Autowried不能直接指定按name注入,需要配合@Qualifier才能实现按name指定

@Resource
private WorkOrderBo                   logisticsWorkOrderBo;//会直接按照logisticsWorkOrderBo这个字段注入
  • @Resource 可以按照name指定也可以按照type指定

知乎有这个问答

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号