概念
工作流产品使用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文件等。