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;
- TF使用例子-情感分类
- TensorFlow官方教程翻译:TensorFlow调试器
- 深度学习实战 | 使用Kera预测人物年龄
- 竞猜活动区块链方案探索
- 无所谓
- 这是一个悲伤的故事
- Golang语言社区--标准库分析之strconv包
- Golang语言社区--结构体数据排序
- mybatis-plus思维导图,让mybatis-plus不再难懂
- ABAP OPEN SQL里OPEN CURSOR和SELECT的比较
- 如何用ABAP代码读取CDS view association的数据
- 使用代币替代传统积分系统
- BTA 常问的 Java基础40道常见面试题及详细答案
- Docker PHP 最佳实践
- 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 文档注释
- AJAX的一个简单实例,跨域的解决,使用JQuery来进行ajax的调用
- ASP.NET Core 将文件夹内容输出为压缩包文件方法
- 如何阻止指定类型的SAP CRM附件被上传到服务器
- Docker 之NameSpace与Cgroup
- 微信网页扫码登录和公众号网页授权登录的比较
- 【TBase开源版测评】分布式数据库复制表关联查询
- v-decorator的取值与赋值
- fastjson导致spring security oauth2的token序列化错误
- 微信小程序webview,a锚点跳转,回退时一直保留在原页面
- SLURM使用教程
- MIME 类型大全,你值得收藏
- Jetbrains系列---PyCharm, Goland翻译插件推荐Translation
- 熬夜总结了 “HTML5画布” 的知识点(共10条)
- 在PyTorch中使用深度自编码器实现图像重建
- Django+Vue开发生鲜电商平台之9.个人中心功能开发