专栏首页网络小说作家的编程技术沉思录SpringBoot2.x+mybatis plus3.x集成Activit7版本

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项目当中。

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SpringBoot2.x系列教程(五十四)SpringBoot2.x集成Mybatis实战

    市面上主流的ORM框架很多,而在国内甚至亚洲地区使用最多的当属Mybatis了,而国外更多使用的是JPA。本文就带大家学习如何通过Spring Boot集成My...

    程序新视界
  • ApiBoot 官网发布 - 为接口服务而生

    ApiBoot是一款基于SpringBoot1.x,SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成、使用扩展、自动化配置等,让接口开...

    恒宇少年
  • ApiBoot:《SpringBoot》整合组件接口服务框架落地解决方案

    ApiBoot是一款基于SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成,让接口开发者完成开箱即用,不再为搭建接口框架而犯愁,从而极大...

    恒宇少年
  • ApiBoot 2.0.9.RELEASE 版本发布,支持自定义Oauth2授权方式

    ApiBoot是一款基于SpringBoot1.x,SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成、使用扩展、自动化配置等,让接口开...

    恒宇少年
  • ApiBoot 2.0.7.RELEASE 版本发布

    ApiBoot是一款基于SpringBoot1.x,SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成、使用扩展、自动化配置等,让接口开...

    恒宇少年
  • ApiBoot 2.0.8.RELEASE 版本发布

    ApiBoot是一款基于SpringBoot1.x,SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成、使用扩展、自动化配置等,让接口开...

    恒宇少年
  • 【程序源代码】Springboot开源工作流开发框架

    platform-plus是一个轻量级的,前后端分离的Java快速开发平台,基于Springboot2.X、Beetl、Mybatis-Plus、Shiro、R...

    程序源代码
  • 基于SpringBoot快速构建中大型系统的基础框架

    程序源代码
  • 使用idea实现springboot Mybatis 整合(springboot 2.x)

    本来这篇博文老在就写好了,但是后来发现很多功能其实根本就没有检验通过就发出来了,导致遗留了很多坑,比如最难搞的就是SqlSessionFactory和PageH...

    凯哥Java
  • 又一神操作,SpringBoot2.x 集成百度 uidgenerator搞定全局ID

    作者:风.foxwho foxwho.blog.csdn.net/article/details/90200602

    Java小咖秀
  • 搞定全局ID生成器:SpringBoot2.x 集成百度 uidgenerator

    foxwho.blog.csdn.net/article/details/90200602

    好好学java
  • 【SpringBoot2.0系列07】SpringBoot之redis使用(Lettuce版本)

    【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板

    yukong
  • SpringBoot30个问题

    链接:https://blog.csdn.net/qq_14958051/article/details/106568520

    Java小咖秀
  • 基于SpringBoot库存管理系统,附源码!

    Finer进销存是一款面向中小企业的供销链管理系统,基于J2EE快速开发平台Jeecg-Boot开发,采用前后端分离架构:SpringBoot2.x,Ant D...

    肉眼品世界
  • ReactNative项目中集成旧版本的Angular 1.x的项目

    由于新版本(简称2.0版本)的APP使用新技术ReactNative新技术,并且时间紧张,只有公共部分,如登录、联系人等公共部分使用ReactNative重新做...

    贺贺V5
  • Spring Boot 使用 Micrometer 集成 Prometheus 监控 Java 应用性能

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    哎_小羊
  • 2020最新总结,大厂常问的SpringBoot高频面试题(30题+答案+学习导图)

    下面是小编关于SpringBoot的知识点总结了一个思维导图,希望对大家所有帮助!

    程序员白楠楠
  • SpringBoot整合MyBatis

    SpringBoot2.x 中默认使用的是hikari.HikariDataSource 数据源,SpringBoot1.x 网上说使用的是TomcatDat...

    梅花
  • 介绍一款 API 敏捷开发工具

    用尽可能简单的方式,完成尽可能多的需求。通过约定的方式 实现统一的标准。告别加班,拒绝重复劳动,远离搬砖.

    后端码匠

扫码关注云+社区

领取腾讯云代金券