Spring 当一个接口多个实现时,怎么注入
时间:2022-07-22
本文章向大家介绍Spring 当一个接口多个实现时,怎么注入,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
代码如下
- Data.java
package cn.lpe234.demo;
/**
* Created by lpe234 on 2017/9/26.
*/
public interface Data {
void out();
}
- AData.java
package cn.lpe234.demo;
import org.springframework.stereotype.Component;
/**
* Created by lpe234 on 2017/9/26.
*/
@Service
public class AData implements Data {
@Override
public void out() {
System.out.println("AData");
}
}
- BData.java
package cn.lpe234.demo;
import org.springframework.stereotype.Component;
/**
* Created by lpe234 on 2017/9/26.
*/
@Service
public class BData implements Data {
@Override
public void out() {
System.out.println("BData");
}
}
进行试验
最简单的--使用 new
创建对象
需要什么类就去new
什么类。
@Test
public void testData() {
Data data1 = new Data() {
@Override
public void out() {
System.out.println("new Data {}");
}
};
Data data2 = new AData();
Data data3 = new BData();
data1.out();
data2.out();
data3.out();
}
输出
//
new Data {}
AData
BData
Spring 自动注入
两种方式 @Autowired
和 @Resource
.
- @Autowired 按类型进行注入
- @Resource按名称进行注入
// 均使用 AData 的实现
@Autowired
@Qualifier("AData")
Data data;
@Resource(name = "AData")
Data getData;
- Go语言并发编程总结
- hdu------(4302)Holedox Eating(树状数组+二分)
- spark2的SparkSession思考与总结2:SparkSession有哪些函数及作用是什么
- GO语言并发编程之互斥锁、读写锁详解
- spark2.2 SparkSession思考与总结1
- 【译】Spring 官方教程:Spring Security 架构
- hdu----(4301)Divide Chocolate(状态打表)
- hdu------(4300)Clairewd’s message(kmp)
- TensorFlow ML cookbook 第一章7、8节 实现激活功能和使用数据源
- Go语言struct类型详解
- spark1.x升级spark2如何升级及需要考虑的问题
- 使用 kubeadm 创建一个 kubernetes 集群
- Oracle 12c 多租户专题|CDB元数据内幕
- 深入分析golang多值返回以及闭包的实现
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 太刺激了,面试官让我手写跳表,而我用两种实现方式吊打了TA!
- 被 Google 选择的下一代数据面 Cilium 是什么 - 上手实践
- K8S 生态周报| 是时候从 k8s v1.16 升级了
- ESP8266(一)| 基于OneNet的温度采集显示系统
- 隐秘的 MySQL 类型转换
- 对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你
- Volatile概述
- SparkStreaming和Kafka基于Direct Approach如何管理offset
- Spark在处理数据的时候,会将数据都加载到内存再做处理吗?
- 美团点评2020年测试工程师笔试题
- Pytest之重运行及生成测试报告
- 一条SQL的奇妙旅行
- 表格的融合
- 解放双手,使用批处理达到账号密码之类再也用不着手动输入!
- 教你在几分钟内构建一个Python包