概念
工作流产品使用activiti的算是比较多了,自带了一套UI界面,可以直接使用,用来设计流程,下面简单总结一下它的步骤:
1 设计模型
2 发布为流程,一个模型可以发布多个版本的流程
3 建立一个流程的实例和实例任务,一个流程可以建立多个并行的实例
4 对某个实例任务进行审批
5 可以查看实时的流程实例状态
部署在项目里
添加引用
annotationProcessor 'org.projectlombok:lombok:1.18.2' //gradle5.0之后需要这样引用lombok
compileOnly 'org.projectlombok:lombok:1.18.2'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.2'
testCompileOnly 'org.projectlombok:lombok:1.18.2' implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.activiti:activiti-diagram-rest:5.22.0'
implementation 'org.activiti:activiti-modeler:5.22.0'
implementation 'org.activiti:activiti-spring-boot-starter-basic:5.22.0' implementation 'org.springframework.boot:spring-boot-starter-jdbc'
implementation 'mysql:mysql-connector-java'
implementation 'org.assertj:assertj-core:3.3.0'
implementation 'com.google.guava:guava:18.0'
testImplementation 'com.h2database:h2:1.3.176'
testImplementation('org.springframework.boot:spring-boot-starter-test')
添加启动文件
import org.activiti.spring.boot.SecurityAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,})
public class AvtivitiApplication {
public static void main(String[] args) {
SpringApplication.run(AvtivitiApplication.class, args);
} }
添加yml配置
server:
port: 8081 spring:
application:
name: activiti-demo
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
jpa:
hibernate:
ddl-auto: none
show-sql: true activiti:
check-process-definitions: false
font:
activityFontName: 宋体
labelFontName: 宋体
访问模型添加页面
保存之后,将在模型表ACT_RE_MODEL添加数据,ACT_GE_BYTEARRAY资源表也会生成对象的数据,如模型的图片和模型对应的XML文件等。