网站首页 > 博客文章 正文
作者:yawn-silence
来源:my.oschina.net/silenceyawen/blog/1609603
依赖:
新建springBoot项目时勾选activiti,或者在已建立的springBoot项目添加以下依赖:
<dependency>
????<groupId>org.activiti</groupId>
????<artifactId>activiti-spring-boot-starter-basic</artifactId>
????<version>6.0.0</version>
</dependency>
配置:
数据源和activiti配置:
在activiti的默认配置中,process-definition-location-prefix 是指定activiti流程描述文件的前缀(即路径),启动时,activiti就会去寻找此路径下的流程描述文件,并且自动部署;suffix 是一个String数组,表示描述文件的默认后缀名,默认以上两种。
springMVC配置:
这里配置静态资源和直接访问的页面:在本示例项目中,添加了thymeleaf依赖解析视图,主要采用异步方式获取数据,通过angularJS进行前端数据的处理和展示。
使用activiti:
配置了数据源和activiti后,启动项目,activiti 的各个服务组件就已经被加入到spring容器中了,所以就可以直接注入使用了。如果在未自动配置的spring环境中,可以使用通过指定bean的init-method来配置activiti的服务组件。
案例:
以以下请假流程为例:
1. 开始流程并“申请请假”(员工)
在此方法中,Vaction 是申请时的具体信息,在完成“申请请假”任务时,可以将这些信息设置成参数。
2. 审批请假(老板)
(1)查询需要自己审批的请假
package?com.yawn.entity;
import?java.util.Date;
/**
?*?@author?Created?by?yawn?on?2018-01-09?14:31
?*/
public?class?VacTask?{
????private?String?id;
????private?String?name;
????private?Vacation?vac;
????private?Date?createTime;
????//?getter?setter?...
}
老板查询自己当前需要审批的任务,并且将任务和参数设置到一个VacTask对象,用于页面的展示。
(2)审批请假
同理,result是审批的结果,也是在完成审批任务时需要传入的参数;taskId是刚才老板查询到的当前需要自己完成的审批任务ID。(如果流程在这里设置分支,可以通过判断result的值来跳转到不同的任务)
3. 查询记录
由于已完成的请假在数据库runtime表中查不到(runtime表只保存正在进行的流程示例信息),所以需要在history表中查询。
(1) 查询请假记录
请假记录即查出历史流程实例,再查出关联的历史参数,将历史流程实例和历史参数设置到Vcation对象(VO对象)中去,即可返回,用来展示。
此外,以上是查询历史流程实例和历史参数后,设置VO对象的通用方法:可以根据参数列表中的参数,将与VO对象属性同名的参数设置到VO对象中去。
4. 前端展示和操作
(1)审批列表和审批操作示例
以上是一个springBoot 与 activiti 6.0 整合的示例项目的部分代码与说明,完整的项目代码在:
https://gitee.com/yawensilence/activiti-demo6-springboot
猜你喜欢
- 2024-10-18 一套集成工作流+地图引擎的快速开源平台源码
- 2024-10-18 Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台
- 2024-10-18 基于Java的快速开发平台-低代码集成工作流-快速开发表单系统
- 2024-10-18 30分钟学会:springboot+mysql+camunda开源工作流引擎
- 2024-10-18 工作审批流系统,快速落地平台(工作流和审批流的区别)
- 2024-10-18 Spring Boot 整合 xxl-job(spring boot整合thymeleaf)
- 2024-10-18 「低代码平台」springboot+Activiti7多实例(会签)流程实现(一)
- 2024-10-18 可视化Java工作流引擎开发,10分钟完成一个业务流程发布
- 2024-10-18 springboot+activiti7之拖拽表单k-form-design整合
- 2024-10-18 Activiti 6.0 流程引擎从零开始(第一天) 1
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 357℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)