SpringBoot 2.x 快速集成 Activiti


1 摘要

Activiti 是最受欢迎、使用人数最多的工作流框架,所有涉及到流程审批的地方,都会使用到 Activiti。本文将基于 Spring Boot 2.3 简易集成 Activiti 6。

Activiti 官网: https://www.activiti.org

2 核心 Maven 依赖

./activiti-workflow/pom.xml
        <!-- Activiti -->
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>${activiti.version}</version>
        </dependency>

其中 ${activiti.version} 的版本为 6.0.0

完整 pom 文件参考项目源码

3 配置文件

./activiti-workflow/src/main/resources/application.yml
## spring config
spring:
  activiti:
    check-process-definitions: false
    database-schema-update: true
    process-definition-location-prefix: classpath:/
  datasource:
    url: "jdbc:mysql://127.0.0.1:3306/demo_activiti?useUnicode=true&characterEncoding=utf8\
      &useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8\
      &useSSL=true&allowMultiQueries=true&autoReconnect=true&nullCatalogMeansCurrent=true\
      &nullCatalogMeansCurrent=true"
    username: root
    password: "root"
    hikari:
      driver-class-name: com.mysql.cj.jdbc.Driver

属性说明:

database-schema-update: 数据库表模式,可选项为: true,项目初始化时检查 Activiti 数据库表,当 Activiti 数据库表不存在时,创建对应的表,如果已经存在,则不重复创建,默认为 truefalse: 项目初始化时,默认 Activiti 数据库表已经创建,如果没有,则抛出异常;create-drop:流程开始时创建数据库表,流程结束后删除数据库表

process-definition-location-prefix: 流程文件(bpmn) 位置前缀,一般将流程文件存放在 resources/processes 目录下

4 核心代码

4.1 SpringBoot 启动类
./activiti-workflow/src/main/java/com/ljq/demo/springboot/activiti/ActivitiWorkflowApplication.java
package com.ljq.demo.springboot.activiti;

import org.activiti.spring.boot.SecurityAutoConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author junqiang.lu
 */
@EnableSwagger2
@MapperScan("com.ljq.demo.springboot.activiti.dao")
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class ActivitiWorkflowApplication {

    public static void main(String[] args) {
        SpringApplication.run(ActivitiWorkflowApplication.class, args);

    }

}

@SpringBootApplication(exclude = {SecurityAutoConfiguration.class}) 这里需要排除 SecurityAutoConfiguration.class,避免启动失败

至此,SpringBoot 已经成功集成 Activiti, 接下来就可以绘制流程图,启动工作流了。

5 推荐参考资料

Activiti6.0教程(3) - springboot项目中使用activiti6.0配置及启动

SpringBoot2集成Activiti6

Activiti工作流实战开发

6 Github 源码

Gtihub 源码地址 : https://github.com/Flying9001/springBootDemo

个人公众号:404Code,分享半个互联网人的技术与思考,感兴趣的可以关注.
404Code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值