跟风Spring的context继承风格写的一个业务处理器,无聊

news2024/11/28 14:51:06

忽然记起spring的context的N重继承风格,一个抽象类实现一部份功能,想从那重改复写就从哪重开始。脑子一抽,也在业务代码里面玩了下。效果嘛。学得是有模有样,感觉就是越搞越复杂。有点过度设计了,折腾个啥呢。哈哈哈…
Spring效果:
在这里插入图片描述
画瓢效果:
产品中一重抽象实现一部分功能。二次开发随便改
在这里插入图片描述

顶层抽象类:

public abstract class SuggestionFlowStatusHandler implements BusinessStatusHandler {

    @Override
    public boolean supportFlow(String flowId) {
        return SuggestionFlowContext.SUGGESTION_FLOW_ID.equals(flowId);
    }

    @Override
    public void updateBusinessStatus(FlowContext nodeContext, Node node) {
        SuggestionFlowContext context = (SuggestionFlowContext) nodeContext;

        // 更新建议信息
        updateSuggestionFlowStatus(node, context);
        // 处理附议人
        handleSubmitJoinInfo(node, context);
        // 记录一些流程产生的泛化数据
        toRecordFlowAboutInfo(node, context);
        // 其他更新
        updateOtherBusinessStatus(node, context);
        // 同步履职档案和学习提升同步数据
        handlePerformDuties(node, context);
        // 发送消息
        sendNoticeMessage(node, context);
    }

    protected abstract void updateSuggestionFlowStatus(Node node, SuggestionFlowContext context);

    protected abstract void handleSubmitJoinInfo(Node node, SuggestionFlowContext context);

    protected abstract void toRecordFlowAboutInfo(Node node, SuggestionFlowContext nodeContext);

    protected abstract void handlePerformDuties(Node node, SuggestionFlowContext context);

    protected abstract void sendNoticeMessage(Node node, SuggestionFlowContext context);

    protected void updateOtherBusinessStatus(Node node, SuggestionFlowContext context) {
    }
   }

支持复写:

 @Bean
    @ConditionalOnMissingBean
    public BusinessStatusHandler businessStatusHandler() {
        return new DefaultSuggestionFlowHandler();
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1599300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

防止企业数据泄密的四种有效措施

防止企业数据泄密的四种有效措施 泄密大案每天都在上演,受害者既有几十人的小型企业,也有上万人的世界500强,为什么这些企业都难逃数据泄露的噩梦呢?我们应该采取什么措施来防止信息泄密呢? 首先我们来看看数据泄密的…

聚贤帮赵远峰:照亮希望 激励奋斗

在2023年河北涿州灾情爆发后,聚贤帮的一众学员深入困难群众中去,力所能及贡献自己的一份力量。其实早在2022年4月,聚贤帮的许多成员就曾多次踏入山区,开展慈善活动,用自己的力量为当地居民带来温暖和关爱。 “照亮希望,激励奋斗”成为了大家慈善活动的信仰。通过捐款和物资,聚…

swiper 插件 轮播图

html代码 <div class"text_box"><div class"swiper mySwiper"><div class"swiper-wrapper"><div class"swiper-slide"><imgsrc"https://cdn.pixabay.com/photo/2023/11/08/09/58/leaf-8374442_640.jp…

Linux --- 高级IO

目录 1. 什么是IO 2. 阻塞的本质 3. 五种IO模型 3.1. 通过故事认识五种IO模型 3.2. 上述故事的总结 3.3. 具体的五种IO模型 3.3.1. 阻塞IO 3.3.2. 非阻塞轮询式IO 3.3.3. 信号驱动IO 3.3.4. 多路转接IO 3.3.5. 异步IO 4. 非阻塞IO 4.1. fcntl 系统调用 1. 什么是I…

怎么清除3D模型杂质?---模大狮模型网

在进行3D建模过程中&#xff0c;模型可能会受到各种杂质的影响&#xff0c;这些杂质可能来自于模型本身的结构问题、导入导出过程中的错误、或者是不当的编辑操作所留下的痕迹。清除这些杂质是保证模型质量和渲染效果的关键步骤之一。本文将介绍几种常见的清除3D模型杂质的方法…

【Android】重温Activity生命周期

前言 Android中用得最多的组件是Activity&#xff0c;而它的生命周期也是最基础的知识&#xff0c;从刚接触Android到工作中会频繁依赖这部分知识。可能大多数人能说出页面新建到页面关闭会走的生命周期&#xff1a;onCreate、onStart、onResume、onPause、onStop、onDestory&…

计算机网络 Cisco路由器基本配置

一、实验内容 1、按照下表配置好PC机IP地址和路由器端口IP地址 2、配置好路由器特权密文密码“abcd&#xff0b;两位班内序号”和远程登录密码“star” 3、验证测试 a.验证各个接口的IP地址是否正确配置和开启 b.PC1 和 PC2 互ping c.验证PC1通过远程登陆到路由器上&#…

VMware安装Linux虚拟机(rocky9)

软件准备&#xff1a; VMware虚拟机ISO系统镜像文件 选择创建虚拟机→典型→下一步→点击稍后安装操作系统 选择Linux系统和对应版本 输入虚拟机名称和选择保存位置 设置磁盘大小 根据需要自定义硬件配置→完成 然后点击编辑虚拟机设置→CD/DVD→选择ISO镜像 然后开启虚拟机→…

Mysql的函数和约束

函数和约束 文章目录 函数和约束函数字符串函数数值函数日期函数流程函数 约束概念目的分类使用案例外键约束 函数 使用 select 函数();字符串函数 数值函数 日期函数 流程函数 约束 概念 约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 目的 保证…

Windows VS2019 JsonCpp库下载编译

下载地址 jsoncpp下载地址 编译 打开cmake-gui 设置代码地址&#xff0c;生成地址->点击configure->设置VS2019-x64 如下&#xff1a; 再点击generate 进入到build的目录打开jsoncpp.sln文件&#xff0c;进行编译即可 生成目录&#xff1a; build\lib\Release 头…

零基础自学Python,啃透这五本书就够了!

选择合适的学习资源 在自学Python的前期&#xff0c;选择一本适合初学者的Python入门书籍或在线教程&#xff0c;从基础开始学习&#xff0c;好的入门书籍或在线教程会按照逻辑顺序组织知识&#xff0c;从基础概念开始&#xff0c;逐步引导你深入学习Python编程语言。这种系统…

SQL SERVER的安装

目录 1.百度SQL SERVER找到图下的所显示的&#xff0c;点击进去 2.找到图下红色框起来的&#xff0c;点击立即下载​ 3.下载好之后点开&#xff0c;选择下载介质 4.SQLSERVER下载成功之后选择打开文件夹​ 6.双击后缀名是.iso的镜像文件 7.双击setup.exe进行安装​ 8.安…

LlamaIndex 组件 - Loading

文章目录 一、概览加载Transformations将所有内容放在一起抽象 二、文档/节点概览1、概念2、使用模式文件节点 三、定义和定制文档1、定义文档2、自定义文档2.1 元数据2.2 自定义id2.3 高级 - 元数据定制1&#xff09;自定义LLM元数据文本2&#xff09;自定义嵌入元数据文本3&a…

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型)

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型) RD77MS2用户手册,RD77MS2外部连接,RD77MS2规格。RD77MS2参数说明&#xff1a;2轴;SSCNETⅢ/H连接&#xff0c;位置控制、同步控制、速度.转矩控制、轨迹控制;控制单位mm、inch、degree、pulse;定位数据600数据轴。 RD77MS2图…

浅尝 express + ORM框架 prisma 的结合

一、prisma起步 安装&#xff1a; npm i prisma -g查看初始化帮助信息&#xff1a; prisma init -h查看初始化帮助信息结果&#xff1a; Set up a new Prisma projectUsage$ prisma init [options] Options-h, --help Display this help message --datasource-provider …

Databend 开源周报第 140 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持 EXECUTE I…

thymeleaf模板引擎的使用

thymeleaf模板引擎的使用 ​ 在早期开发的时候&#xff0c;我们完成的都是静态页面也就是html页面&#xff0c;随着时间轴的发展&#xff0c;慢慢的引入了jsp页面&#xff0c;当在后端服务查询到数据之后可以转发到jsp页面&#xff0c;可以轻松的使用jsp页面来实现数据的显示及…

JAVA_类和对象(1)

认识面向对象 Java是一门纯面向对象的语言(Object Oriented Program, OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。面向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。  面向过程和面相对象并不是一门语言&#xff0c;而是解决…

jetson系列开发板使用虚拟机烧录系统时,遇见无法识别开发板的情况

在双系统中的ubuntu系统烧录没问题&#xff0c;但是电脑Ubuntu系统由于版本低&#xff0c;所以没有网络&#xff0c;烧录起来还的连网线&#xff0c;所以问了开发板的工程师&#xff0c;所幸&#xff0c;解决了问题&#xff0c;很感谢工程师的指导&#xff0c;特此记录一下&…