1、搭建环境
JDK1.8+SpingBoot+MyBatis+Activiti
2、搭建步骤(只介绍关键点,具体可下载资源中的代码)
1)pom.xml文件:
主要有效信息都在dependency中。其中spring-boot-starter为我们在SpringBoot下使用Activiti做了以下这样的配置:
- 自动创建Activiti ProcessEngine的Bean
- 所有的Activiti Service都被自动注册成Spring的Bean
- 创建一个Spring Job Executor
- 会自动扫描位于src/main/resource/processess目录下的流程处理文件(.bpmn)
2)、项目目录结构:
SpringBoot项目的目录结构大概如上图所示
- 会有一个启动类DemoApplication,里面一个main方法用来执行启动该应用。
- 在resource下会有两个自带的文件夹,一个叫做template(用来存放html页面),一个static(用来存放静态资源,比如js、css)当然这是SpringBoot推荐的做法
- resource下有一个叫做application.properties的配置文件,这个文件是在应用启动时默认读取加载的。
application.properties文件的配置:
注:spring.activiti.check-process-definitions=false//这个需要指定为false或者是要注释掉,它的意思是在启动应用时是否扫描processes下的流程文件,指定为false即为不扫描。
3)部分核心代码
SpringBoot启动类:
注意事项:
1、注意activiti-spring-boot-starter-basic的版本号,推荐使用5.21.0。如果使用的5.17的版本,在启动流程的时候,不会自动帮你部署,因此在这之前需要自己手动的部署一次。5.21.0版本的话就不会出现这个问题。
2、注意启动流程引擎的时候传入的key要和流程配置文件中的id保持一致。
手动部署核心代码:
//需要一个RepositoryService实例去调用方法,读取类路径下processes目录下面的MyProcess.bpmn文件,进行部署。
@Resource
RepositoryService repositoryService;
repositoryService.createDeployment().name("qjlc111").addClasspathResource("processes/MyProcess.bpmn").deploy();