一个接口多个实现类的Spring注入方式
1. 首先, Interface1 接口有两个实现类 Interface1Impl1 和 Interface1Impl2
Interface1 接口:
package com.example.service;/*** Created by liuzh on 2018-05-29.* 接口1*/
public interface Interface1 {void fun1();
}
以下是接口的两个实现类,请注意@service注解的使用方式,这里给每个实现类标注了不同的名称,方便在@Resource注入时区别注入
Interface1 接口实现类1:
package com.example.service.impl;import com.example.service.Interface1;
import org.springframework.stereotype.Service;/*** Created by liuzh on 2018-05-29.*/
@Service("s1")
public class Interface1Impl1 implements Interface1 {@Overridepublic void fun1() {System.out.println("接口1实现类 ...");}public void fun2(){System.out.println("接口1实现类1 fun2 ...");}
}
Interface1 接口实现类2:
package com.example.service.impl;import com.example.service.Interface1;
import org.springframework.stereotype.Service;/*** Created by liuzh on 2018-05-29.*/
@Service("s2")
public class Interface1Impl2 implements Interface1 {@Overridepublic void fun1() {System.out.println("接口1实现类 ...");}public void fun2(){System.out.println("接口1实现类2 fun2 ...");}
}
2. 通过 @Autowired 和 @Qualifier 配合注入
@Autowired
@Qualifier("interface1Impl1")
Interface1 interface1; //正常启动
3. 使用@Resource注入,根据默认类名区分
@Resource(name = "interface1Impl1")
Interface1 interface1; //正常启动
4. 使用@Resource注入,根据@Service指定的名称区分
@Resource(name = "s1")
Interface1 interface1; //正常启动
使用@Resource注入,根据@Service指定的名称区分,可以避免多个实现类在不同包下,但是类名相同的情况。
感谢您的阅读,欢迎参观我的个人网站:闲乐小站【www.xianlewang.cn】
一个接口多个实现类的Spring注入方式相关推荐
- 一个接口多个实现类的Spring注入方式(注解方式)
转载: https://blog.csdn.net/niceLiuSir/article/details/80499821 1. 首先, Interface1 接口有两个实现类 Interface1I ...
- Java写一个接口和两个类
编写一个接口和两个类,要求如下: (1)设计一个学生功能的接口,实现平均成绩的计算和基本信息的输出. (2)设计一个学生类实现了学生接口,学生类的基本信息有:学号.姓名.年龄.各科成绩(假设一共5门课 ...
- 你写的代码扩展性高吗?快试试用Spring注入方式来解耦代码!
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/qq_38050259/article/ details/113414419 目的:对比传统方式和 Spring注入方式创建对象 ...
- Spring注入方式及优缺点
Spring注入方式 Spring依赖注入的方式有:构造器注入,setter方法注入.属性注入.工厂方法注入,官方3.x版本推荐使用setter方法注入,到4.x之后官方推荐使用构造器注入. 1.构造 ...
- Spring 注入方式
Spring 注入方式有三中 1.setter注入 2.构造器注入 3.基于注解的注入 1.setter注入 在InjectionServiceImple 中有 变量 injectionDao 并有其 ...
- 在.NET Core中处理一个接口多个不同实现的依赖注入问题
前言 近段时间在准备公司的技术分享,所以这段时间将大部分时间放在准备分享内容上去了.博客也就停了一下下. 在.NET Core中处理依赖注入问题时,往往是定义好了一个操作规范的接口,会有N多个基于不同 ...
- Spring注入方式及用到的注解 -----@Component,@Service,@Controller,@Repository
注入方式: 把DAO实现类注入到service实现类中,把service的接口(注意不要是service的实现类)注入到action中,注 入时不要new 这个注入的类,因为spring会自动注入,如 ...
- 框架 Spring 注入方式
Spring通过DI(依赖注入)实现IOC(控制反转) 常用的注入方式主要有三种 1 构造方法注入 2 setter注入 3 基于注解的注入 什么是注入?spring通过配置文件生产对象,我们拿到这个 ...
- 关于Spring注入方式的几道面试题,你能答上么?
作者:Richard_Yi juejin.cn/post/6844904056230690824 前言 本章的内容主要是想探讨我们在进行Spring 开发过程当中,关于依赖注入的几个知识点.感兴趣的读 ...
最新文章
- SQL assistant
- excel 如何快速实现绝对引用
- 【Google Play】应用 “更新被拒“ 后续处理 ( 上传新版本后 , 一定要停用被拒的版本, 才可以通过审核 | 停用被拒的版本 | 送审 )
- 源路由 就是指定数据传输经过这个路由服务器
- 2021年图机器学习有哪些新突破?麦吉尔大学博士后一文梳理展望领域趋势
- 如何使用Hibernate批处理INSERT和UPDATE语句
- CSS学习笔记11 CSS背景
- php倒计时关闭订单,订单倒计时取消,nodejs 辅助实现倒计时任务
- 电脑主板跳线_DIY电脑主板的跳线安装及排序规则
- MTK 驱动(78)----MTK 平台查看eMMC和DDR的工作频率
- 【转】 谈谈C++中的swap函数
- vue多个根节点上的属性继承
- c++界面设计皮肤工具
- oracle毕业论文题目,2012届本科毕业论文设计题目参考
- FFmpeg mxf扩展hdr、bt2020
- DELL笔记本插入耳机没反应
- TensorFlow 卷积神经网络之猫狗识别(二)
- sublime-笔记
- Mysql三种存储引擎及区别
- [转]go-kit 入门
热门文章
- clickonce发布的安装包运行报错
- 圆方树学习记录及例题
- 鸿蒙os苹果ios对比,华为鸿蒙OS与苹果iOS测试,谁更流畅,真实对比大家看一下...
- JS中splice、slice用法及区别
- php crypt,PHP加密函数—crypt()函数加密用法实例
- 游戏王计算机人图片,人造人(《游戏王》卡牌角色)_百度百科
- Python数据分析实战-提取DataFrame(Excel)某列(字段)最全操作(附源码和实现效果)
- SpringBoot中使用Mybatis逆向工程(实体类含数据库注释)
- Android二维码原理与优化方向
- java关闭tomcat服务器端口_关闭tomcat端口号