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/suncoolcat/p/3310520.html

spring依赖注入单元测试:expected single matching bean but found 2相关推荐

  1. Spring项目启动报错No qualifying bean of type [xxx] available: expected single matching bean but found 2

    启动报错: No qualifying bean of type [class1] available: expected single matching bean but found 2,class ...

  2. 错误记录:expected single matching bean but found 2

    springboot项目,之前有mysql数据源,现在又新增了clickhouse数据源,于是 新增了一个clickhouseDatasource的配置bean,如下: @Beanpublic Dat ...

  3. available: expected single matching bean but found 2

    available: expected single matching bean but found 2: smsLogServiceImpl,ISmsLogService 如上图,是在启动的时候出现 ...

  4. No qualifying bean of type ‘com.itheima.dao.BookDao1‘ available: expected single matching bean 问题解决

    写代码的时候出现了如下错误,错误原因如下:   Mybatis装载了com.itheima.dao包下的所有bean,自然也包括BookDao1,而spring又装载了 com.itheima.dao ...

  5. 【报错解决】expected single matching bean but found 2

    文章目录 报错信息展示: 项目背景: 报错还原: 原因分析: 解决方案: 方案一:使用@Qualifier注解来指明注入的实例. 方案二:使用@Resource(name="Xxxservi ...

  6. Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件...

    1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...

  7. arg是什么函数_java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪...

    前言 前两天和一个同学吃饭的时候同学跟我说了一件事,说他公司有个做了两年的人向他提出要涨薪资,他就顺口问了一个问题关于spring依赖注入的,那个要求涨薪的同学居然被问懵了...事后回家想了想这一块确 ...

  8. spring依赖注入_Spring依赖注入

    spring依赖注入 介绍: 在设计良好的Java应用程序中,这些类应尽可能独立. 这样的设计提高了组件的可重用性. 它还使对各个组件进行单元测试变得更加容易. 依赖注入的概念促进了Java对象之间的 ...

  9. spring依赖注入的三种方式以及优缺点

    spring依赖注入的三种方式以及优缺点 一.依赖注入的三种方式 1.通过构造器注入.(spring4.3之后,推荐使用) 2.通过setter注入.(spring4.3之前,推荐使用) 3通过fil ...

最新文章

  1. S/4HANA中的销售计划管理
  2. 人体上身各部位图_【肝货】画好人体结构,你还需要了解这些
  3. SRV记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理——深入的话需要去折腾Azure Active Directory...
  4. Guava 2.2-新集合类型
  5. 使用hyper-v、CentOS学习Linux基本概念和命令
  6. ssm使用全注解实现增删改查案例——DeptMapperImpl
  7. ansible笔记(8):常用模块之系统类模块(二)
  8. Atitit.软件开发的最终的设计 dsl化,ast化(建立ast, 解析执行ast)
  9. 在官网下载idea历史版本
  10. NOIP2017普及组复赛——T4跳房子
  11. 【云原生 · Docker】入门篇:安装、镜像加速
  12. Qt例程-Qt中使用CAD插件
  13. 微信扫码小绿盒支持支付宝+微信收款教程
  14. gRPC详细入门教程,Golang/Python/PHP多语言讲解
  15. SQL数据库损坏及恢复分析
  16. 人工生命42(人工智能原创小说)
  17. 冥王峡谷装linux教程,Intel NUC冥王峡谷开箱及安装ESXi
  18. 经纬恒润 标记重复元素 python
  19. 详解fiddler抓包工具
  20. 三菱变频器脉冲丢失的原因及故障排除方法

热门文章

  1. 企业对网站空间的抉择有可能影响着网站日常运营水平
  2. java mina 长连接_apache mina 长连接
  3. 考c语言三级需要什么软件,全国计算机三级网络技术上机考C语言的软件是什么哈?...
  4. h5MYSQL并进行增删查改_mysql增删改查
  5. centos mysql5.7主从同步配置_centos7搭建mysql5.7主从同步
  6. 计算机英语多层,多层式结构,multi-layer structure,在线英语词典,英文翻译,专业英语...
  7. oracle excel报表开发,深入浅出OracleEBS之Excel报表开发.doc
  8. Android从放弃到精通 第二天 我还好
  9. Spark中Task,Partition,RDD、节点数、Executor数、core数目(线程池)、mem数
  10. javascript primise本质——为了简化异步编码而针对异步操作的代理