企业级项目集成Flowable工作流,基于(师父)的开源项目的集成,此开源项目是师傅十几年的经验和实战总结而成,直接可以用于企业开发,旨为帮助更多需要帮助的人!
说明 | 链接 |
---|---|
项目开原地址 | https://gitee.com/lwj/flowable |
博客链接 | https://me.csdn.net/liuwenjun05101 |
工作流视频 | https://space.bilibili.com/485524575 |
企业集成分支 | flowable-base |
企业集成分支链接 | https://gitee.com/lwj/flowable/tree/flowable-base/ |
企业工作流交流qq群 | 633168411 |
有需要学习flowable工作流的朋友,可以进群一起和大佬交流,群里的大佬都很热心肠,帮助大家更快了解并运用工作流。
文章目录
- 一、克隆开源项目
- 1. 复制克隆地址
- 2. 项目远程拉取
- 3. 切换分支
- 二、使用idea编辑项目
- 1. idea打开flowable项目
- 2. 项目结构总览
- 3. 项目结构简述
- 三、java文件集成
- 1. 找到标注的几个模块
- 2. 将模块中的java文件复制到自己的系统中
- 四、依赖集成
- 1. 依赖集成流程
- 2. 解决maven依赖冲突
- 2.1. 利用插件解决
- 2.2. 手动解决
- 五、全局配置文件集成
- 1. SpringBoot MybatisPlus
- 1. SpringBoot Mybatis
- 四、java配置文件集成
- 五、测试集成
一、克隆开源项目
1. 复制克隆地址
https://gitee.com/lwj/flowable/tree/flowable-base/
【克隆/下载】-【SSH】-【复制】-【】-【】-【】-【】
2. 项目远程拉取
git clone git@gitee.com:lwj/flowable.git
3. 切换分支
企业项目集成flowable-base分支
#进入项目目录
cd flowable/
#切换到flowable分支
git checkout flowable-base
二、使用idea编辑项目
1. idea打开flowable项目
2. 项目结构总览
3. 项目结构简述
flowable这个开源项目属于前后分离的项目,虽然只有一个项目,应该是师傅为了让大家简单容易理解故意把前端和后端放在一个项目中的吧,但是,前后端启动的需要单独运行,这样项目请结构细。
模块名称 | 说明 |
---|---|
flowable-parent | 聚合工程的父项目,版本控制中心,所有的子工程都依赖它 |
flowable-manager | 后台请求统一入口 ,无逻辑代码,依赖其他模块 |
flowable-api | 存放公用的枚举类实体类 |
flowable-core | 核心代码 |
flowable-server | 应该是打算把逻辑的代码都抽离到此模块中 ,提供入口类调用,尚未抽取 |
flowable-manager-ui | 前端代码 |
三、java文件集成
1. 找到标注的几个模块
2. 将模块中的java文件复制到自己的系统中
步骤 | 简述 |
---|---|
① | 按照不同模块将所有的java代码复制到自己的项目中 |
② | 如果自己的项目也是聚合项目,建议多创建几个子工程存放不同不快的代码, 耦合性挺低,放到一个项目中的不同包的下面也可以 |
③ | 报错先忽视,等统一解决 |
④ | 复制按照从上倒下的顺序复制。因为模块之间也有依赖 |
⑤ | 复制原则(java文件全部),相同作用的的java文件,也复制,等会再删除 |
四、依赖集成
1. 依赖集成流程
步骤 | 简述 |
---|---|
① | 把标注模块的pom文件中的依赖全部复制到项目中 |
② | 复制依赖原则(全部复制)不要选择性复制依赖 |
③ | 重复依赖先复制先忽视依赖冲突,等会统一解决 |
④ | 依赖复制完成之后,删除重复依赖(与自己项目中的依赖冲突不算) |
⑤ | 解决依赖冲突,等会再删除 |
2. 解决maven依赖冲突
2.1. 利用插件解决
2.2. 手动解决
找到红色部分,手动解决即可
依赖原则:哪个依赖近,就是用哪个依赖
五、全局配置文件集成
1. SpringBoot MybatisPlus
application.yml
#应用端口
server:port: 80max-http-header-size: 10240
######################################################################################
# 1. 环境激活 3. 静态文件路径 win file:D:/app/files linux file:/app/files
# 2.mvc静态文件访问前缀 4.热部署配置(需热部署目录和排除热部署目录)
######################################################################################
spring:profiles:active: testresources:#static-locations: file:D:/app/filesstatic-locations: file:/app/filesmvc:view:prefix: /pagesdevtools:restart:enabled: falseadditional-paths: src/main/javaexclude: assets/**,pages/**servlet:multipart:max-request-size: 100MBmax-file-size: 100MB######################################################################################
# 1.mybatis-plus 包扫描 3. 数据库类型
# 2.flowbale的model包扫描 4. 数据库类型前缀
######################################################################################
mybatis-plus:typeAliasesPackage: com.gblfy.modular.system.modelmapper-locations: classpath:com/gblfy/modular/**/mapping/*.xml,classpath:/META-INF/modeler-mybatis-mappings/*.xmlconfiguration-properties:blobType: BLOBboolValue: TRUEprefix:
application-test.yml
# Mysql数据库
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=trueusername: rootpassword: rootfilters: wall,mergeStatdata-source-name: knowdb######################################################################################
# 1.flowable编码设置 3. 在线绘图内置默认admin用户
# 2.idm默认访问地址
######################################################################################
flowable:xml:encoding: UTF-8common:app:idm-url: http://127.0.0.1:/8080/idm#关闭定时任务JOBasync-executor-activate: false#和数据库表结构不一致时,会更新database-schema-update: trueidm:app:admin:user-id: adminpassword: testfirst-name: adminlast-name: admin
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/*.xmlconfig-location: classpath:/META-INF/mybatis-config.xmlconfiguration-properties:blobType: BLOBboolValue: TRUEprefix:
application-test.yml
# Mysql数据库
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=trueusername: rootpassword: rootfilters: wall,mergeStatdata-source-name: knowdb######################################################################################
# 1.flowable编码设置 3. 在线绘图内置默认admin用户
# 2.idm默认访问地址
######################################################################################
flowable:xml:encoding: UTF-8common:app:idm-url: http://127.0.0.1:/8080/idm#关闭定时任务JOBasync-executor-activate: false#和数据库表结构不一致时,会更新database-schema-update: trueidm:app:admin:user-id: adminpassword: testfirst-name: adminlast-name: admin
注:自己的实体类和mapper在配置文件中添加即可
四、java配置文件集成
复制下面几个文件即可