# springboot-flowable
#### 介绍
springboot-flowable 快速开发工作流
#### 软件架构
springboot + flowable + modeler + idm
springboot version : 2.1.5
flowable version : 6.4.0
==注意:== 版本需于数据库 act_ge_property 相同
需要先登录 http://127.0.0.1:8080/expense/idm/index.html
account: admin
pwd : test
再访问: <http://127.0.0.1:8080/expense> 创建设计器
#### 使用说明
1. 将flowable的依赖加入到POM中即可,flowable使用需要一个数据库,这里为了方便我选择mysql
2. 增加 mybatis, modeler,idm 等配置
~~~xml
<properties>
<java.version>1.8</java.version>
<flowable.version>6.4.0</flowable.version>
<mybatis-spring-boot>1.3.1</mybatis-spring-boot>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--flowable工作流依赖-->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-basic</artifactId>
<version>${flowable.version}</version>
</dependency>
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<!-- Spring Boot Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.31</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.46</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-ui-common</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-ui-modeler-rest</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-idm-spring-configurator</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-ui-idm-rest</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-ui-idm-conf</artifactId>
<version>${flowable.version}</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>3.6.2</version>
</dependency>
<!--security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-crypto</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
~~~
2.yml 文件配置
增加: idm, modeler , mybatis , servlet 等配置
~~~yml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/flowable?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT
username: root
password: 123456
security:
filter:
dispatcher-types: REQUEST,FORWARD,ASYNC
flowable:
#关闭定时任务JOB
async-executor-activate: false
common:
app:
idm-url: http://localhost:8080/expense/
idm:
app:
admin:
user-id: admin
password: test
first-name: admin
last-name: admin
rest:
app:
authentication-mode: verify-privilege
modeler:
app:
rest-enabled: true
database-schema-update: true
mybatis:
mapper-locations: classpath:/META-INF/modeler-mybatis-mappings/*.xml
config-location: classpath:/META-INF/mybatis-config.xml
configuration-properties:
prefix:
blobType: BLOB
boolValue: TRUE
server:
servlet:
context-path: /expense
~~~
这样操作后,flowable与springBoot的整个就完成了!
然后就可以运行了,初次运行时flowable会将自动执行flowable中的初始化脚本完成工作流所需要的数据表的建立,如果指定的数据库中还未创建过flowable的相关数据表的话。
## 定义流程文件
ExpenseProcess.bpmn20.xml
~~~xml
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath"
targetNamespace="http://www.flowable.org/processdef">
<process id="Expense" name="ExpenseProcess" isExecutable="true">
<documentation>报销流程</documentation>
<startEvent id="start" name="开始"></startEvent>
<userTask id="fillTask" name="出差报销" flowable:assignee="${taskUser}">
<extensionElements>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler">
<![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
<exclusiveGateway id="judgeTask"></exclusiveGateway>
<userTask id="directorTak" name="经理审批">
<extensionElements>
<flowable:taskListener event="create"
class="com.haiyang.flowable.listener.ManagerTaskHandler"></flowable:taskListener>
</extensionElements>
</userTask>
<userTask id="bossTask" name="老板审批">
<extensionElements>
<flowable:taskListener event="create"
class="com.haiyang.flowable.listener.BossTaskHandler"></flowable:taskListener>
</extensionElements>
</userTask>
<endEvent id="end" name="结束"></endEvent>
<sequenceFlow id="directorNotPassFlow" name="驳回" sourceRef="directorTak" targetRef="fillTask">
<conditionExpression xsi:type="tFormalExpression"><!
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
springboot Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。
资源推荐
资源详情
资源评论
收起资源包目录
springboot-flowable-modeler快速开发工作流, 在线流程设计器.zip (879个子文件)
CHANGES 3KB
CHANGES 3KB
mvnw.cmd 6KB
bootstrap.css 118KB
bootstrap.css 118KB
bootstrap.min.css 98KB
bootstrap.min.css 98KB
bootstrap.min.css 97KB
bootstrap.min.css 97KB
style.css 62KB
style.css 62KB
ui-grid.css 52KB
ui-grid.min.css 38KB
style-editor.css 34KB
ui-grid.css 32KB
style.css 25KB
handsontable.full.min.css 22KB
ui-grid.min.css 22KB
bootstrap-theme.css 15KB
bootstrap-theme.css 15KB
spectrum.css 14KB
spectrum.css 14KB
bootstrap-theme.min.css 13KB
bootstrap-theme.min.css 13KB
style-idm.css 10KB
jquery.qtip.min.css 9KB
nvd3.min.css 8KB
nvd3.min.css 8KB
daterangepicker-bs3.css 5KB
daterangepicker-bs3.css 5KB
qunit.css 5KB
qunit.css 5KB
editor.css 4KB
loading-bar.min.css 2KB
loading-bar.min.css 2KB
jasmine.css 2KB
jasmine.css 2KB
angular-gridster.min.css 2KB
angular-gridster.min.css 2KB
hotkeys.css 2KB
hotkeys.css 2KB
bootstrap-tour.min.css 2KB
bootstrap-tour.min.css 2KB
hotkeys.min.css 1KB
hotkeys.min.css 1KB
style-retina.css 856B
displaymodel.css 484B
displaymodel.css 476B
fontawesome-webfont.eot 59KB
lato-bold-webfont.eot 28KB
lato-bold-webfont.eot 28KB
lato-regular-webfont.eot 28KB
lato-regular-webfont.eot 28KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
ui-grid.eot 10KB
ui-grid.eot 8KB
activiti-admin-webfont.eot 5KB
cherokee-webfont.eot 4KB
cherokee-webfont.eot 4KB
tour-dnd.gif 80KB
sequenceflow-bendpoint.gif 72KB
open-group.gif 43KB
loading.gif 17KB
grid.gif 1KB
nw-handle-dark.gif 839B
se-handle-dark.gif 838B
assignment-popup.html 17KB
index.html 17KB
formfield-edit-popover.html 13KB
event-listeners-popup.html 12KB
editor.html 10KB
index.html 10KB
index.html 10KB
form-properties-popup.html 10KB
plan-item-lifecycle-listeners-popup.html 8KB
app-definition-builder.html 8KB
execution-listeners-popup.html 8KB
app-definition.html 8KB
form-builder.html 7KB
task-listeners-popup.html 7KB
form-builder-element-template.html 7KB
index.html 7KB
idm-privilege-mgmt.html 7KB
app-definition-save-model.html 6KB
duedate-popup.html 6KB
idm-group-mgmt.html 6KB
save-model.html 6KB
app-definitions.html 6KB
select-people-popover.html 6KB
decision-tables.html 6KB
decision-table-edit-output-expression.html 6KB
decision-table-edit-input-expression.html 6KB
decisiontable-reference-popup.html 5KB
forms.html 5KB
decision-table.html 5KB
共 879 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
野生的狒狒
- 粉丝: 2534
- 资源: 2149
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TG-2024-05-23-204718255.mp4
- 候志强@181 5428 8938_20240420112107.amr
- spispispispispi
- 实验二:IP协议分析.zip
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功