如题所述,当一个接口被多个子类实现时,Spring框架怎样从容器中正确取出我们想要的实例呢?

(定义了CommonService接口,同时有个两个子类实现了这个接口,同时两个实现类上都加了@Service注解,表明在项目启动时,这两个实现类都会被维护到Spring容器中)

1.在需要被注入的实现类上加注解@Primary

比如现在我想在调用类中注入DefaultServiceImpl的实例,只需要在DefaultServcieImpl类上加@Primary注解即可。

2.在需要被注入的实例上的@Service中声明实例的名称,然后在@AutoWired注入的引用 映射到想要注入的名称。

3.@AutoWired和@Qualifler配合使用,@Qualifler中 value 声明需要注入的实现类类名

三种方式选一种实现即可。

(面试时遇到的问题 - - - - )

Spring如何自动注入一个接口多个实现实例相关推荐

  1. spring容器注入一个接口的两个实现类

    转载自:https://www.cnblogs.com/linjiaxin/p/5897749.html spring容器中能拥有两个同种类型的bean吗?我有两个dao类同时实现一个接口,这两个接口 ...

  2. 关于spring boot自动注入出现Consider defining a bean of type ‘xxx‘ in your configuration问题解决方案

    搭建完spring boot的demo后自然要实现自动注入来体现spring ioc的便利了,但是我在实施过程中出现了这么一个问题,见下面,这里找到解决办法记录下来,供遇到同样的问题的同僚参考 Des ...

  3. Spring中自动注入的两种方式

    目录 1. 前言 2. set注入和构造注入. 3. 什么情况下要使用自动注入? 4. 自动注入之byName 5. 自动注入之byType注入 1. 前言 Spring的核心技术IOC(Intoro ...

  4. 【Spring学习】spring注解自动注入bean

    Spring mvc注解用到的配置: <!-- 启用spring mvc 注解 --> <context:annotation-config /> <context:co ...

  5. Spring——16 自动注入

    自动注入 概念 在 Spring 配置文件中对象名和 ref="id" 的id 名相同,使用自动注入,可以不配置property/ 标签 两种配置办法 ①在bean 标签中通过 a ...

  6. Spring开篇介绍-如果没有Spring如何对外暴露一个接口

    引言 目前我在互联网行业已经工作5年以上了,回想起刚毕业时刚刚接触Spring框架,做了一个专利管理系统,后续工作中负责过交易型业务,贷前和贷后业务,支付业务等.现在主要深耕营销活动领域,不管是自己开 ...

  7. spring——autowire自动注入

    通过指定bean标签上的autowire属性可对bean对象进行自动注入 autowire = byName 根据名称注入 autowire = byType 根据类型注入 当有多个bean与属性对应 ...

  8. Spring官网阅读(三)自动注入

    上篇文章我们已经学习了1.4小结中关于依赖注入跟方法注入的内容.这篇文章我们继续学习这结中的其他内容,顺便解决下我们上篇文章留下来的一个问题-----注入模型. 前言: 在看下面的内容之前,我们先要对 ...

  9. 网店版重生系列:都是Spring配置中自动注入惹的祸

    在对Spring Container管理的bean进行配置时,有一个很好用的功能就是自动注入,可以根据不同规则对bean所依赖的bean进行自动set,相信最常用的就是设置default-autowi ...

最新文章

  1. iOS 自动构建套件 - flow.ci + fir.im + Coding
  2. 冒号运算 java_java 8 双冒号运算符
  3. 计算机系职教周方案,琼软院软件〔2018〕14 号:关于印发《软件工程系2018年“职业教育 活动周”活动方案》的通知...
  4. 数学--数论--Miller_Rabin判断素数
  5. 关东升python从小白到大牛_《Python从小白到大牛》第3章 第一个Python程序
  6. 计算机发展史评课议课稿,评课议课记录范文
  7. tomcat7的数据库连接池tomcatjdbc的25个优势
  8. pycharm2019新建python文件_PyCharm 2019安装教程
  9. Myeclipse如何使用自带git工具向远程仓库提交代码(转)
  10. Linux 简单架设防火墙路由器
  11. 用c 语言建立二叉链表,二叉链表建立二叉树c语言
  12. 华为od面试全流程总结
  13. 在实习的过程中规划自己的未来职业蓝图
  14. python 经典图书排行榜_书榜 | 计算机书籍(8.12-8.18)销售排行榜
  15. android模拟器连接不到本地服务器
  16. 使用selenium和chromedriver实现12306抢票
  17. vs2013 调试出现error LNK1104: 无法打开文件“libprotocd.lib”
  18. Python正则匹配一招完整去除文本中的各类表情符号
  19. SQL Server服务器名称
  20. HTML/CSS布局—Flex布局(弹性布局)

热门文章

  1. NBA季后赛历史得分榜
  2. 因抢一个月饼,惨遭阿里开除,如今的他把生活过成这
  3. V2签名预装失败原因及解决方案
  4. Account determination for entry XXX EIN not possible
  5. 如何写好科研论文(雨课堂)-期末考试答案
  6. 【缓冲流、转换流、序列化流】
  7. Tensorflow-GPU环境配置
  8. 用html做一个旅游网首页
  9. ubuntu安装显卡问题
  10. C语言字符减去‘0’的含义