参考:个人理解简单工厂模式和策略模式的区别_Leonis丶L的博客-CSDN博客_策略模式和工厂模式的区别

下面这个是有个工厂类,用于获取TaskService,其中TaskService存在多个实现类,其中通过一个taskType区分。

@Service
public class TaskFactory {private final Map<String, TaskService> taskMap = new ConcurrentHashMap<>();@Autowiredpublic TaskFactory(Map<String, TaskService> taskMap) {taskMap.forEach(this.taskMap::put);}public TaskService getTaskServiceByTaskType(String taskType){TaskService service = this.taskMap.get(taskType);if(service == null){throw new BizException(String.format("taskType:%s dose not support", taskType));}return service;}
}

主要通过下面这个注入实现

 @Autowiredpublic TaskFactory(Map<String, TaskService> taskMap) {taskMap.forEach(this.taskMap::put);}

taskMap中的key是TaskService的每个子类Service实现的别名,比如@Component("10") TaskServiceImpl1、@Component("20") TaskServiceImpl2、@Component("30") TaskServiceImpl3等,value为具体的实现类,这样可以通过这个map的key获取具体的实现类

springboot实现的工厂模式相关推荐

  1. springboot工厂模式_最新整理138道阿里、快手等大厂面试题解析:基础+Spring+并发+JVM+设计模式+缓存...

    这些题目都是阿里.百度.美团.快手等一线互联网公司面试被问到的题目.熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率,希望可以帮助大家,祝大家求职顺利! Java集合22题 ArrayList ...

  2. springboot 使用工厂模式+策略模式替代多重if 案例

    项目背景: 由于做的是物联网项目,现在需要实现的是网关入网+子设备注册:网关有3个逻辑,分别为首次入网.解绑后同一个人入网(恢复).解绑后换人入网(换人).子设备注册: 原先写法是: if(type ...

  3. 实践:使用Spring 原生注解来快速实现 策略模式 + 工厂模式

    作者:Richard_Yi juejin.im/post/5db0e910518825648f2ef355 前言 这阵子在做项目组重构的工作,工作中的一部分就是就目前代码库中与企业交互的逻辑抽离出来, ...

  4. 轻松看懂java设计模式简单工厂模式

    点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...

  5. 设计模式(二)-------------- 工厂模式

    这篇博客我想来说一下关于工厂模式的一些知识,工厂模式在Spring框架中运用是十分广泛的.由于Spring的控制反转思想,使得我们的一些bean都交由BeanFactory统一进行管理. 那么今天我就 ...

  6. 设计模式之简单工厂模式与策略模式

    目录 一.简单工厂模式 二.策略模式 三.简单工厂和策略模式的相同和不同点 四.SpringBoot中用简单工厂搭配策略模式 一.简单工厂模式 概述:定义一个工厂类,它可以根据参数的不同返回不同的实例 ...

  7. 工厂模式的缺点及解决到生产的应用

    目录 背景 需求 分析 代码 1.工厂类 2.业务类 3.客户端 总结 背景 工厂模式实际开发中用到很多,网上的介绍案例非常多.工厂模式存在一些问题: 使用工厂前:我们有一系列的产品类,都有共同的父类 ...

  8. SpringBoot下的策略模式,消灭了大量的ifelse,真香!

    前言 项目中有这样一个场景,在公园放置了用来拍摄人像的识别杆,根据用户在不同识别杆之间采集的图象来计算用户的运动距离.由于涉及到许多公园,每个公园的布局不同,识别杆之间距离不同,算法也不同.但代码中每 ...

  9. 《跟二师兄学Nacos吧》EXT-01篇 看看Nacos是怎么活学活用简单工厂模式的!

    学习不用那么功利,二师兄带你一起轻松读源码- 番外篇简介 Nacos源码分析系列文章,在开篇已经提到过,写作的目标有两个:第一,能够系统的学习Nacos知识:第二,能够基于Nacos学到涉及到的知识点 ...

最新文章

  1. 2022-2028年中国儿童医疗行业深度调研及投资前景预测报告
  2. 怎么做好企业IT运维工作
  3. OpenCV绘图和文本输出功能的实例(附完整代码)
  4. IOS开发基础之时钟的实现
  5. junit编写测试代码_编写数据访问代码测试-不测试框架
  6. 好用的cnn网络_DPCNN,究竟是多么牛逼的网络呢?
  7. 解读阿里官方代码规范
  8. OPPO海外功臣realme将回归国内 目标竞争对手:红米和荣耀
  9. 数据双向绑定_手写 Vue3 数据双向绑定 理解Proxy
  10. Yale CAS + .net Client 实现 SSO(2)
  11. 信息安全工程师真题1
  12. Unity3D教程:iTween插件的介绍和用法
  13. 合并报表和汇总报表之如何合并报表
  14. 多线段几何图形—— 简单几何图形(求几何图形面积)
  15. 搜狗拼音输入法自定义格式的时间和日期并快捷键触发
  16. 如何在github上创建自己的个人网站
  17. 【C语言必经之路——第13节】C语言中的数据类型详解
  18. 《十年》中的没有颤抖的那两个字——“始于你好,终于你好”
  19. 交换机和BBU的接口编号以及华为ATN950 BBU接口写法
  20. threshold 阈值,阀值,阙值

热门文章

  1. zii.widgets.jui.CJuiDatePicker
  2. iPad做Windows扩展屏
  3. 短信验证注册,一个完整而优雅的JAVA后端实现
  4. 文件或目录损坏其无法读取问题解决方法2022-9-15
  5. Oracle学习——第四讲(增删改查)
  6. NFM--FM的神经网络化尝试
  7. PicPick的安装方法
  8. Modeling Personalized Item Frequency Information for Next-basket Recommendation
  9. 京东商城API 京东商品评论列表
  10. dedecms 织梦配置 手机 wap 站点,并绑定二级域名