Spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。
  @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
  @Resource装配顺序
  1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
  2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
  3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
  4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

转载于:https://www.cnblogs.com/qq78292959/p/3738563.html

Spring中@Autowired注解、@Resource注解的区别相关推荐

  1. Spring中@Autowired和@Resource的区别

    一.定义 @Autowired 对类成员变量.方法及构造函数进行标注,完成自动装配的工作. @Resource 在语义上被定义为通过其唯一的名称来标识特定的目标组件,其中声明的类型与匹配过程无关. 如 ...

  2. Springboot中@autowired和@resource注解的区别

    @Autowired @Autowired是Spring提供的,默认按照byType 注入,也就是按bean的类型来传入.如果需要指定名字,那么需要使@Qualifier("这是bean的名 ...

  3. Spring中@Autowired和@Resource区别

    Spring可以基于注解方式配置并注入依赖.在Java代码中使用@Resource或者@Autowired注解方式注入. 1. @Resource: 1)默认按照名称装配注入,只有当找不到与名称nam ...

  4. Spring中@Autowired、@Qualifier、@Resource的区别

    转自: Spring中@Autowired.@Qualifier.@Resource的区别_老周聊架构的博客-CSDN博客_qualifier和resource区别1.@Autowired@Autow ...

  5. @Autowired和@Resource注解的区别?

    谈到Spring的注解,@Autowired和@resource这两个注解不得不提.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上 那@A ...

  6. @AutoWired和@Resource注解异同分析

    相同点: @AutoWired和@Resource注解都是从Spring容器中取出相应的bean对象,自动装配. 不同点: @AutoWired: 默认根据类型进行自动装配,依赖的对象必须存在,如果允 ...

  7. 详解Spring中@Autowire,@Value 注解实现原理

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/u013202238/article/details/107879726 本文主要基于SpringBoot-2.3.3.RELE ...

  8. Spring中重要的一些注解及其实现原理

    Spring中重要的一些注解及其实现原理 1.启动类@SpringBootApplication注解: @SpringBootApplication public class StartEurekaA ...

  9. Spring中ref local与ref bean区别

    为什么80%的码农都做不了架构师?>>>    Spring中ref local与ref bean区别 今天在做SSH框架Demo实例时,在ApplicationResources. ...

最新文章

  1. C++中的类属(泛型)机制——模板
  2. 2块钱就能买上千张人脸照片?央视曝光AI黑产,产业链太惊人了
  3. java 整型_Java整型计算
  4. 在 Eclipse 上建立一个 JSP
  5. JVM调优:GC标记清除回收算法
  6. 简单分析ComponentScan
  7. Redis安装[Windows]
  8. c语言可以调用汇编语言吗,C语言与汇编语言混编方式
  9. java递归统计_Java类递归计数
  10. C++面试题-指针-动态内存指针
  11. C++基础教程之日期和时间
  12. 分组码--原理,码率,软硬判决,编码增益
  13. 目录-OpenGL编程指南
  14. (美)梅耶(Myers, G. J.) 等《软件测试的艺术(原书第3版)》书籍(第3版)
  15. 服务器状态 fadein,aria2-BT服务器地址的可用trackers列表(已接手)
  16. matlab 图中图
  17. 微信小程序-组件的生命周期
  18. 最新的AS下载地址,更新及时
  19. CreateJS入门 -- 注释详细到爆炸(My Style)
  20. 都是购买ARM授权,为何高通华为三星联发科的芯片像4个妈生的?

热门文章

  1. mysql数据导入python_利用python将mysql中的数据导入excel
  2. php在函数使用正则表达式,php正则表达式以及正则函数的使用
  3. Java同一个类的不同实例_如何创建2个类实例注入不同类的依赖项实现(通过guice)?...
  4. mysql 当前id前后几个,使用mysql选择id前后的行
  5. cmd连接oracle_Oracle -PLSQLDeveloper 13 数据库连接
  6. 解决Android Studio中DDMS缺少File Explore视窗的方法
  7. 使用Python,OpenCV进行形态学操作
  8. 咕泡学院:(1)唐宇迪python课程作业
  9. C++:随笔5---this指针和类的继承
  10. mxnet speech_recognition踩坑记