自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 建造者模式(Builder)

概念:今天我们讨论一下 Builder 建造者模式,这个Builder,其实和模板模式非常的像,但是也有区别,那就是在模板模式中父类对子类中的实现进行操作,在父类之中进行一件事情的处理,但是在 Builder模式之中,父类和子类都不用关心怎么处理,而是用另一个类来完成对这些方法的有机组合,这个类的职责就是。----------------设计模式:建造者设计模式-----------------------------------------设计模式:建造者设计模式-----------------

2023-01-12 17:01:27 128

原创 工厂设计模式

工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?在以上的三种(C)模式中,第一种(A)如果传入的字符串有误,不能正确创建对象,第三种(C)相对于第二种(B),不需要实例化工厂类,所以,大多数情况下,我们会选用第三种——静态工厂方法模式。B:多个工厂方法模式:普通方法如果参数传递错误的话,则不能正确的创建对象,而多个工厂方法模式是提过多个工厂方法,分别创建对象。A:普通工厂设计模式。

2023-01-12 16:59:31 125

原创 设计模式分类(第一章)

LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。——From Baidu 百科。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

2023-01-12 16:56:09 129

原创 【Mybatins】源码解析与执行流程

6.userMapper接口中的方法是如何关联到SQL的,这个猜想可能是有个专门映射的类,另外,肯定使用到了接口全路径名+方法名称,这个才能确保方法和SQL关联(主要是使用的时候,都是方法名必须和SQL中statementId一致,由此猜想的)1:通过前面的分析,我们已经知道了userMapper是通过动态代理生成的代理对象,所以调用这个代理对象的任意方法都是执行触发管理类MapperProxy的invoke()方法。另外还有个属性MethodSignature,主要是封装的是返回值的类型和方法入参。

2023-01-12 16:50:46 140

原创 [Activiti7]idea创建流程图

2:部门经理审批:使用了我们的UEL表达式,可以在 assignee处设置 UEL 表达式,表达式的值为任务的负责人,比如:${assignee1},assignee1 就是一个流程变量名称。============Activiti:使用UEL表达式==========================Activiti:使用UEL-method表达式==============表达式参考上边的介绍的 UEL 表达式,这里主要介绍监听类使用。Create:任务创建后触发。Delete:任务完成后触发。

2023-01-09 11:49:09 602

原创 [Activiti7]网关(第十一章)

排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用来在流程中实现决策。注意:如果没有使用排他网关,下多个节点条件都满足的话,那么就会其他所有节点都走,如果使用了排他网关,那么就只会走节点ID小的节点其他节点是不会走的。join 汇聚: 所有到达并行网关,在此等待的进入分支, 直到所有进入顺序流的分支都到达以后, 流程就会通过汇聚网关。============Activiti:并行网关=========================Activiti:包含网关=============

2023-01-09 11:47:23 310

原创 [Activit7]任务组任务(第十章)

===========Activiti7:Candidate-users 候选人==============System.out.println("任务负责人:" + task.getAssignee());System.out.println("任务id:" +task.getId());=============用户查询个人待办任务============================用户办理个人任务===============

2023-01-09 11:46:21 540

原创 【Activiti7】流程变量(第九章)

在完成任务时设置流程变量,该流程变量只有在该任务完成后其它结点才可使用该变量,它的作用域是整个流程实例,如果设置的流程变量的key 在流程实例中已存在相同的名字则后设置的变量替换前边设置的变量。==================Activiti7:流量变量=====================================Activiti:Global变量控制流程==========================Activiti:Local 变量控制流程==============

2023-01-08 16:00:45 415

原创 【Activiti7】监听器(第八章)

任务监听器是发生对应的任务相关事件时执行自定义 java逻辑 或表达式。2:Assignment:任务分配后触发。1:Create:任务创建后触发。3:Delete:任务完成后触发。4:All:所有事件发生都触发。

2023-01-08 15:58:59 287

原创 【Activiti7】流程实例(第七章)

在 activiti 实际应用时,查询流程实例列表时可能要显示出业务系统的一些相关信息,比如:查询当前运行的请假流程列表需要将请假单名称、请假天数等信息显示出来,请假天数等信息在业务系统中存在,而并没有在activiti 数据库中存在,所以是无法通过 activiti的 api查询到请假天数等信息。流程实例执行,如果当前只有一个分支时,一个流程实例只有一条记录且执行表的主键 id 和流程实例id相同,如果当前有多个分支正在运行则该执行表中有多条记录,存在执行表的主键和流程实例id 不相同的记录。

2023-01-08 15:56:53 1328

原创 【Activiti7】表定义(第六章)

act_re_deployment 和 act_re_procdef 一对多关系,一次部署在流程部署表生成一条记录,但一次部署。SELECT * FROM act_re_deployment #流程定义部署表,记录流程部署信息。这些运行时的表,包含流程实例,任务,变量,异步任务,这些表包含历史数据,比如历史流程实例,变量,任务等。建议:一次部署一个流程,这样部署表和流程定义表是一对一有关系,方便读取流程部署及流程定。可以部署多个流程定义,每个流程定义在流程定义表生成一条记录。通用数据, 用于不同场景下。

2023-01-08 15:51:59 161

原创 【Activiti7】流程定义(第五章)

使用 designer 设计器绘制流程,会生成两个文件:.bpmn 和.png。针对该流程,启动一个流程表示发起一个新的请假申请单,这就相当于 java类与 java对象的关系,类定义好后需要 new 创建一个对象使用,当然可以new 多个对象。概念:将线下定义的流程部署到 activiti 数据库中,这就是流程定义部署,通过调用 activiti 的 api 将流程定义的 bpmn 和 png 两个文件一个一个添加部署到 activiti 中,也可以将两个文件打成 zip 包进行部署。

2023-01-08 15:44:59 637

原创 【Activiti7】服务架构(第四章)

是 activiti 的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者,完成任务的时间,每个流程实例的执行路径,等等。是 activiti 的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti系统的日常维护。将activiti.cfg.xml 文件名及路径固定,且 activiti.cfg.xml文件中有 processEngineConfiguration的配置,

2023-01-08 15:42:28 161

原创 【Activiti7】表命名详解(第三章)

注:此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_RE_PROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在。表名:ACT_GE_BYTEARRAY(通用的流程定义和流程资源)

2023-01-08 15:39:20 224

原创 [Activiti7]基础概念(第一章)

启动一个流程实例表示开始一次业务流程的运行,比如员工请假流程部署完成,如果张三要请假就可以启动一个流程实例,如果李四要请假也启动一个流程实例,两个流程的执行互相不影响,就好比定义一个java 类,实例化两个对象一样,部署的流程就好比 java 类,启动一个流程实例就好比 new 一个java 对象。用户查询待办任务后,就可以办理某个任务,如果这个任务办理完成还需要其它用户办理,比如采购单创建后由部门经理审核,这个过程也是由activiti 帮我们完成了,不需要我们在代码中硬编码指定下一个任务办理人了。

2023-01-08 15:34:24 114

原创 [Activiti7]环境整合(第二章)

虽然流程引擎在单独部署 bpmn 文件时会自动生成图片,但在实际开发过程中,自动生成的图片会导致和 BPMN 中的坐标有出入,在实际项目中展示流程当前位置图会有问题。activiti 运行需要有数据库的支持,支持的数据库有:h2,mysql, oracle, postgres, mssql, db2 等,该目录存放 activiti 的建表脚本。==========Activiti7创建方式===========================Actviti7:使用方式================

2023-01-08 15:27:01 424 1

SpringBoot整合Activit7

SpringBoot整合Activit7

2023-01-09

Spring整合Activiti7

Spring整合Activiti7

2023-01-09

eclipse反编译插件

eclipse反编译插件

2023-01-08

MySQL5.7安装包

MySQL5.7安装包

2023-01-01

oracle数据库11g安装包与操作步骤,一次通过很详细

oracle数据库11g安装包与操作步骤,一次通过很详细

2023-01-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除