• SpringBoot2.x+mybatis plus3.x集成Activit7版本


    最近在参与一个开源项目ruoyi-vue-pro,暂时负责Activiti7工作流的搭建,接这个任务一个原因,是比较好奇Activiti7版本与先前的5、6版本究竟有什么区别,因为先前在工作当中,最开始接触的是5.x版本,到后来的6.x版本,当时换版本时,过程其实还是遇到了不少的坑,而这次,也想蹭着业余时间参与到这个开源项目当中,捣鼓捣鼓activiti7版本有何不同。

    在Activiti6版本当中,若要集成到Springboot里,需要写一些额外的配置类,我曾经在Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0一文当中总结过相关配置过程,感兴趣的同学,可自行点击链接去看下。

    换到Activiti7版本后,可以不需要再另外写一个配置类来将工作流Activiti各接口注入到IOC当中,它已经能自动实现注入相应的服务接口,只需要依赖对应的jar包和在yaml配置文件里配置相应的参数,即可实现SpringBoot+Activiti7的集成。

    下面分两步来实现。

    一、Maven依赖Activiti7版本

     <properties>
            <activiti.version>7.1.0.M6</activiti.version>
     </properties>
    
    
    <dependencies>
    <dependency>
        <groupId>org.activiti.dependencies</groupId>
        <artifactId>activiti-dependencies</artifactId>
        <version>${activiti.version}</version>
        <type>pom</type>
    </dependency>
    <!--使用mybatis plus需排除掉mybatis-->
    <dependency>
        <groupId>org.activiti</groupId>
        <artifactId>activiti-spring-boot-starter</artifactId>
        <version>${activiti.version}</version>
        <exclusions>
            <exclusion>
                <groupId>de.odysseus.juel</groupId>
                <artifactId>juel-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>de.odysseus.juel</groupId>
                <artifactId>juel-spi</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    </dependencies>
    

    注意一点是,因为用到了mybatis plus做ORM框架,故而需要排除掉mybatis依赖,否则在项目启动时,会发生异常提示信息。

    二、在yaml文件里配置相应的启动参数

    spring:
      datasource:
        name: druidDataSoure
        type: com.alibaba.druid.pool.DruidDataSource
        druid:
          driver-class-name: com.mysql.jdbc.Driver
          url: jdbc:mysql://127.0.0.1:3306/ftedb?useUnicode=true&characterEncoding=UTF-8&ueSSL=false&serverTimezone=GMT%2B8
          username: root
          password: root
      activiti:
        #1.false:默认值,activiti启动时,对比数据库表中保存的版本,如果不匹配。将抛出异常
        #2.true:启动时会对数据库中所有表进行更新操作,如果表存在,不做处理,反之,自动创建表
        #3.create_drop:启动时自动创建表,关闭时自动删除表
        #4.drop_create:启动时,删除旧表,再创建新表
        database-schema-update: true
        #activiti7默认不生成历史信息表,需手动设置开启
        db-history-used: true
        check-process-definitions: true
        #full:保存历史数据的最高级别,可保存全部流程相关细节,包括流程流转各节点参数
        history-level: full
    

    完成以上两步,即可将Activit7集成到SpringBoot+mybatis plus项目当中。

    启动项目,会发现数据库里自动生成了对应的工作流表结构。

    image

    我会在ruoyi-vue-pro跟其他小伙伴一起完成Activiti7核心模块集成,感兴趣的小伙伴可以来研究下该开源框架。

    作者:朱季谦
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    最全的项目
    最全的liunx系统修改root用户密码
    最全docker安装步骤
    最全的ideal 常 用 的 快 捷
    最全的ideal 常用的快捷
    ftp路径
    站点路径
    sublime text3 切换中文方法
    UI设计: PS 快捷键 Ctrl+Shift+alt+T,旋转复制
    SQL中表与表的简单关系
  • 原文地址:https://www.cnblogs.com/zhujiqian/p/15231955.html
Copyright © 2020-2023  润新知