企业级项目集成Flowable工作流,基于(师父)的开源项目的集成,此开源项目是师傅十几年的经验和实战总结而成,直接可以用于企业开发,旨为帮助更多需要帮助的人!

说明

链接

项目开原地址

​https://gitee.com/lwj/flowable​

博客链接

工作流视频

​https://space.bilibili.com/485524575​

企业集成分支

flowable-base

企业集成分支链接

​https://gitee.com/lwj/flowable/tree/flowable-base/​

企业工作流交流qq群

633168411

有需要学习flowable工作流的朋友,可以进群一起和大佬交流,群里的大佬都很热心肠,帮助大家更快了解并运用工作流。

文章目录

一、克隆开源项目

1. 复制克隆地址

​https://gitee.com/lwj/flowable/tree/flowable-base/​​ 【克隆/下载】-【SSH】-【复制】-【】-【】-【】-【】

项目集成Flowable工作流_xml

2. 项目远程拉取

.com:lwj/flowable.git

项目集成Flowable工作流_git_02

3. 切换分支

企业项目集成flowable-base分支

#进入项目目录
cd flowable/
#切换到flowable分支
git checkout flowable-base

项目集成Flowable工作流_git_03

二、使用idea编辑项目

1. idea打开flowable项目

项目集成Flowable工作流_spring_04


项目集成Flowable工作流_spring_05

2. 项目结构总览

项目集成Flowable工作流_git_06

3. 项目结构简述

flowable这个开源项目属于前后分离的项目,虽然只有一个项目,应该是师傅为了让大家简单容易理解故意把前端和后端放在一个项目中的吧,但是,前后端启动的需要单独运行,这样项目请结构细。

模块名称

说明

flowable-parent

聚合工程的父项目,版本控制中心,所有的子工程都依赖它

flowable-manager

后台请求统一入口 ,无逻辑代码,依赖其他模块

flowable-api

存放公用的枚举类实体类

flowable-core

核心代码

flowable-server

应该是打算把逻辑的代码都抽离到此模块中 ,提供入口类调用,尚未抽取

flowable-manager-ui

前端代码

三、java文件集成

1. 找到标注的几个模块

项目集成Flowable工作流_git_07


项目集成Flowable工作流_xml_08

2. 将模块中的java文件复制到自己的系统中

步骤

简述


按照不同模块将所有的java代码复制到自己的项目中


如果自己的项目也是聚合项目,建议多创建几个子工程存放不同不快的代码,

耦合性挺低,放到一个项目中的不同包的下面也可以


报错先忽视,等统一解决


复制按照从上倒下的顺序复制。因为模块之间也有依赖


复制原则(java文件全部),相同作用的的java文件,也复制,等会再删除

项目集成Flowable工作流_git_09

四、依赖集成

1. 依赖集成流程

步骤

简述


把标注模块的pom文件中的依赖全部复制到项目中


复制依赖原则(全部复制)不要选择性复制依赖


重复依赖先复制先忽视依赖冲突,等会统一解决


依赖复制完成之后,删除重复依赖(与自己项目中的依赖冲突不算)


解决依赖冲突,等会再删除

2. 解决maven依赖冲突

2.1. 利用插件解决

项目集成Flowable工作流_spring_10

2.2. 手动解决

项目集成Flowable工作流_Flowable集成企业项目_11


找到红色部分,手动解决即可

依赖原则:哪个依赖近,就是用哪个依赖

项目集成Flowable工作流_xml_12

五、全局配置文件集成

1. SpringBoot MybatisPlus

application.yml

#应用端口
server:
port: 80
max-http-header-size: 10240
######################################################################################
# 1. 环境激活 3. 静态文件路径 win file:D:/app/files linux file:/app/files
# 2.mvc静态文件访问前缀 4.热部署配置(需热部署目录和排除热部署目录)
######################################################################################
spring:
profiles:
active: test
resources:
#static-locations: file:D:/app/files
static-locations: file:/app/files
mvc:
view:
prefix: /pages
devtools:
restart:
enabled: false
additional-paths: src/main/java
exclude: assets/**,pages/**
servlet:
multipart:
max-request-size: 100MB
max-file-size: 100MB

######################################################################################
# 1.mybatis-plus 包扫描 3. 数据库类型
# 2.flowbale的model包扫描 4. 数据库类型前缀
######################################################################################
mybatis-plus:
typeAliasesPackage: com.gblfy.modular.system.model
mapper-locations: classpath:com/gblfy/modular/**/mapping/*.xml,classpath:/META-INF/modeler-mybatis-mappings/*.xml
configuration-properties:
blobType: BLOB
boolValue: TRUE
prefix:

application-test.yml

# Mysql数据库
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root
password: root
filters: wall,mergeStat
data-source-name: knowdb

######################################################################################
# 1.flowable编码设置 3. 在线绘图内置默认admin用户
# 2.idm默认访问地址
######################################################################################
flowable:
xml:
encoding: UTF-8
common:
app:
idm-url: http://127.0.0.1:/8080/idm
#关闭定时任务JOB
async-executor-activate: false
#和数据库表结构不一致时,会更新
database-schema-update: true
idm:
app:
admin:
user-id: admin
password: test
first-name: admin
last-name:

1. SpringBoot Mybatis

application.yml

server:
port: 80
# 激活环境
spring:
profiles:
active: dev
# 项目名称
application:
name=flow-manager: flow-manager
## Mybatis 扫描配置
mybatis:
mapper-locations: classpath:/META-INF/dragon-mybatis-mappings/*/xml/*.xml,classpath:/META-INF/modeler-mybatis-mappings/*.xml
config-location: classpath:/META-INF/mybatis-config.xml
configuration-properties:
blobType: BLOB
boolValue: TRUE
prefix:

application-test.yml

# Mysql数据库
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
username: root
password: root
filters: wall,mergeStat
data-source-name: knowdb

######################################################################################
# 1.flowable编码设置 3. 在线绘图内置默认admin用户
# 2.idm默认访问地址
######################################################################################
flowable:
xml:
encoding: UTF-8
common:
app:
idm-url: http://127.0.0.1:/8080/idm
#关闭定时任务JOB
async-executor-activate: false
#和数据库表结构不一致时,会更新
database-schema-update: true
idm:
app:
admin:
user-id: admin
password: test
first-name: admin
last-name:

注:自己的实体类和mapper在配置文件中添加即可

四、java配置文件集成

复制下面几个文件即可

项目集成Flowable工作流_Flowable集成企业项目_13

五、测试集成