1、阅读说明
网络上有很多关于Activiti整合SpringBoot的文章,但是都不全面,按照那些文章的思路整合还得耗时良久,今天抽空写下这篇文章,以帮助大家进行傻瓜式整合,从0到1,完整呈现整合的全过程。
此文章为SpringBoot2整合Activiti6设计器形成基于Activiti6的web项目实例的指导文档,整合工具使用的idea。从零开始,详尽的罗列了每一步整合步骤。需要一定整合者要有一定的技术基础,需要了解maven、springboot、activiti、js前端及h5相关的基础技术。
2、准备资料
- activiti-6.0.0官方实例:Activiti6的官方代码实例,可从官网下载,也可从我的网盘下载,链接: https://pan.baidu.com/s/1Eh_jrM6nSJ2fEnNSRAmwOQ , 提取码: n822;
- activiti-5.22.0(官方):Activiti5.22.0的官方代码实例,由于官方从6.0开始就不再提供在线设计器,所以只能使用5.22版本的设计器代码。可从官网下载,也可从我的网盘下载,链接: https://pan.baidu.com/s/138oGBrpCsoTK7MNfU3kUPw , 提取码: wrfi;
- stencilset.json:Activiti汉化包,网上很多,直接搜索文件名就能找到,也可从我网盘下辖,链接: https://pan.baidu.com/s/1uDNe4R8aXdSXdf10UJJ9lw,提取码: 6q5c;
- bootstrap-3.3.7-dist.zip:bootstrap的类库,做页面时使用。可从官网下载,也可从我的网盘下载,链接: https://pan.baidu.com/s/1z-_PMPF8vBZCJZQhFlCVAw, 提取码: w6wk。
3、整合过程
3.1、创建数据库
解压 activiti-6.0.0官方实例 ,根据自己安装的数据库版本选择相应的activiti6数据库创建sql。解压后,sql存放路径:\activiti-6.0.0\database\create。创建完成后,会有28张表,我使用的数据库名称为“actbase”。
3.2、创建一个简单的SpringBoot项目
此步骤为创建SpringBoot项目,没有什么特殊,若熟悉springboot项目,此步可以略过。
3.3、整合设计器资源代码到项目
由于activiti官方在5.22.0以上版本不再提供在线设计器,所以,我们的在线设计器仍然使用5.22.0版本。并将activiti5.22.0官方示例中的actiti-explorer.war包中的diagram-viewer、editor-app、favicon.ico 放入springboot静态资源目录static中;
将modeler.html(工作流编辑器页面)放到templates目录下;
将汉化文件stencilset.json 放到 resources 目录下;
将bootstrap-3.3.7-dist 类及jquery库放入项目静态资源目录static的js目录下,以备前端页面使用。
整合后台代码:提取activiti-5.22.0\libs\activiti-modeler-5.22.0-sources.jar中的相关代码类,具体目录是:activiti-modeler-5.22.0-sources.jar\org\activiti\rest\editor\model\ModelEditorJsonRestResource.java(此类用于在线编辑器编辑工作流模型)、activiti-modeler-5.22.0-sources.jar\org\activiti\rest\editor\model\ModelSaveRestResource.java(此类用于保存工作流模型)、activiti-modeler-5.22.0-sources.jar\org\activiti\rest\editor\main\StencilsetRestResource.java(此类用于汉化在线编辑器)放到项目中。