当前位置: 首页 > news >正文

Spring配置文件初始化加载(一)

1.枚举

public enum TestEnum {type_01("01", "zeroTest01ServiceImpl"),type_02("02", "zeroTest02ServiceImpl"),type_03("03", "zeroTest03ServiceImpl");private String type;private String pathClass;
}

2.接口

public interface ZeroTestService {/*** 校验** @param map*/void checkData(Map<String, String> map);/*** 当前实现对应类型** @return*/String getType();
}

3.实现类

@Service
public class ZeroTest02ServiceImpl implements ZeroTestService {@Overridepublic void checkData(Map<String, String> map) {}@Overridepublic String getType() {return null;}
}@Service
public class ZeroTest01ServiceImpl implements ZeroTestService {@Overridepublic void checkData(Map<String, String> map) {}@Overridepublic String getType() {return null;}
}

4.实现IOC容器

@Component
public class ZeroTestServiceFactory implements ApplicationContextAware {@Autowiredprivate ApplicationContext applicationContext;public Map<String, ZeroTestService> serviceMap = new HashMap<>();public ZeroTestService getZeroTestService(String type) {return serviceMap.get(type);}@Overridepublic void setApplicationContext(ApplicationContext context) throws BeansException {if (null == context) {context = applicationContext;}for (TestEnum testEnum : TestEnum.values()) {serviceMap.put(testEnum.getType(), (ZeroTestService) context.getBean(testEnum.getPathClass()));}}
}

http://www.lryc.cn/news/480072.html

相关文章:

  • 正则表达式 - 简介
  • 【电机控制器】STC8H1K芯片——ADC电压采集
  • 图像格式中的 stride 和 pix stide
  • 传统POE供电P1摄像头实现
  • 云计算基础:AWS入门指南
  • pytorch torch.tile用法
  • 实战项目:通过自我学习让AI学习五子棋 - 1 - 项目定义
  • 统信UOS开发环境支持Electron
  • 2024.11.09【BUG报错】| Fastuniq “Error in Reading pair-end FASTQ sequence!”解决方案
  • k8s组件原理
  • 0基础跟德姆(dom)一起学AI 深度学习02-Pytorch基本使用
  • 九州未来再度入选2024边缘计算TOP100
  • 《物理化学学报》
  • 【数据集】【YOLO】【目标检测】树木倒塌识别数据集 9957 张,YOLO道路树木断裂识别算法实战训练教程!
  • iOS 18.2 六大新功能外媒實測|ChatGPT進化版SIRI、自製Genmoji
  • 简单介绍一下mvvm mvc mvp以及区别、历史
  • 达梦8-达梦数据实时同步软件(DMHS)配置-Oracle-DM8
  • mysql常见死锁的分析
  • Go Energy 跨平台(GUI)应用编译和安装包制作
  • 众测遇到的一些案列漏洞
  • 大华乐橙设备私有平台EasyCVR视频设备轨迹回放平台支持哪些摄像机?摄像机如何选型?
  • 实战攻略 | ClickHouse优化之FINAL查询加速
  • 5G NR gNB 逻辑架构及其功能拆分选项
  • PyQt入门指南四十六 性能优化策略
  • 【RMA】基于知识注入和模糊学习的多模态歧义分析
  • CulturalBench :一个旨在评估大型语言模型在全球不同文化背景下知识掌握情况的基准测试数据集
  • Git 入门篇(一)
  • 一个灵活且功能强大的动画库 Popmotion
  • 如何解决传统能源企业后备人才不足、人才规划缺失问题
  • PDF模板制作与填充(Java)