步骤1:在pom文件中添加SpringBoot集成Activiti7的依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--添加activiti和SpringBoot整合的依赖MyBatis版本会有冲突,所以需要排除-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.0.0.SR1</version>
<exclusions>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
</exclusions>
<!--activiti可以绘制流程的的依赖-->
<groupId>org.activiti</groupId>
<artifactId>activiti-image-generator</artifactId>
<version>7.0.0.SR1</version>
</dependency>

步骤2:配置application.yml配置文件

1
2
3
4
5
6
7
spring:
activiti:
database-schema-update: true
db-history-used: true
history-level: full
check-process-definitions: false
use-strong-uuids: false
  • database-schema-update属性

    1
    2
    3
    4
    1.flase:默认值。activiti在启动时,对比数据库表中保存的版本,如果没有表或者版本不匹配,将抛出异常
    2.true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建
    3.create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)
    4.drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)
  • db-history-used

    1
    检测历史表是否存在 activiti7默认没有开启数据库历史记录,true启动数据库历史记录
  • history-level

    1
    2
    3
    4
    5
    #记录历史等级 可配置的历史级别有none, activity, audit, full
    1.none:不保存任何的历史数据,因此,在流程执行过程中,这是最高效的。
    2.activity:级别高于none,保存流程实例与流程行为,其他数据不保存。
    3.audit:除activity级别会保存的数据外,还会保存全部的流程任务及其属性。audit为history的默认值。
    4.full:保存历史数据的最高级别,除了会保存audit级别的数据外,还会保存其他全部流程相关的细节数据,包括一些流程参数等。
  • check-process-definitions

    1
    #校验流程文件,默认校验resources下的processes文件夹里的流程文件
  • use-strong-uuids

    1
    是否使用UUID作为主键生成策略

步骤3:排除Spring Security的自动装配

Activiti7默认和Spring Security集成了,如果项目中使用的是Shiro,我们需要在项目中排除掉Spring Security的自动装配配置,否则我们的登录页会被覆盖

1
2
3
4
5
6
7
8
9
10
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class,
SecurityAutoConfiguration.class,
ManagementWebSecurityAutoConfiguration.class
})
@MapperScan(basePackages = {"cn.wolfcode.car.*.mapper"})
public class CarO2O {
public static void main(String[] args) {
SpringApplication.run(CarO2O.class, args);
}
}

运行项目,如果在数据库中出现25张act_开头的表说明集成是没问题的.