开发者社区> 问答> 正文

为什么不建议使用@Autowired和@Inject on字段,但是在Spring / Intell

我注意到Intellij警告我有关使用带有@Autowired和@Inject注释的字段注入的信息。但是,使用@Resourceon字段很好。这背后的原因是什么?

请注意,我并不是在问为什么不鼓励使用电场注入。我想知道为什么通过@Resource“更好/更安全”进行注入-至少根据某些皮棉规则

展开
收起
垚tutu 2019-12-19 16:24:18 3442 0
1 条回答
写回答
取消 提交回答
  • 从贵州电信网厅,到阿尔巴尼亚TTNET、委内瑞拉Cantv的固网激活等项目,再到激活产品研发,在中兴软创国际OSS产品线开发岗位上有6年开发经验,如今在阿里云业务运营中台做商品和账务,对企业级应用开发和架构有丰富经验。

    我觉得原因有二 1、第一是Autowired和Resource这两个注解在实现机制上的差异 @Autowired 默认根据ByType,当一个类有两个对象的时候,会报错。 @Resource 默认是ByName,可以精准的找到 的配置项。 2、@Resource是Java标准注解,而@Autowired是Spring提供的注解

    2020-03-31 17:16:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多