1、新建maven项目
2、依赖 的pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jerryl</groupId><artifactId>spring-boot-with-activiti</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>spring-boot-with-activiti</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><activiti.version>5.18.0</activiti.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--activiti begin--><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>${activiti.version}</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring</artifactId><version>${activiti.version}</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-modeler</artifactId><version>${activiti.version}</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-diagram-rest</artifactId><version>${activiti.version}</version></dependency><!--activiti end--></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

3、新建springboot的配置文件

server:port: 8080
security:basic:enabled: falsespring:datasource:url: jdbc:mysql://127.0.0.1:3306/zhou?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNullusername: rootpassword: 123456

4、新建spring的启动文件

package com.jerryl;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;@SpringBootApplication
@ComponentScan
public class SpringBootWithActivitiApplication {public static void main(String[] args) {SpringApplication.run(SpringBootWithActivitiApplication.class, args);}
}

5、启动springboot如果数据库出现activiti的表格,说明搭建完成。
想要源码的给小编留言………


activiti:
activiti是一款BPM的框架,processEngine是activiti的核心,负责流程流程生成的各种数据及实例,监控和管理流程。activiti默认操作是数据库的是mybatis。
注:工作流activiti的表是管理流程的而业务的数据都需要用户自己创建和维护。
activiti的7个服务
RuntimeService:主要与流程实例有关,流程定义是指设计的一个流程,流程实例是指真正的一个事件,比如请假流程是设计的一个流程,小明请假则是一个具体的流程实例。这项服务可以创建一个流程实例,即启动一个流程,中断或者激活一个流程实例,以及设置信号事件触发器,消息时间触发器(这些和启动流程的条件有关),设置变量,事件监听等一系列和流程实例有关的操作。
HistoryService:主要是用于查询流程的运行记录,只有查询和删除的操作,没有增加和修改。主要查询活动实例,细节,流程实例,变量实例以及任务实例,对应数据库中相应的表。
IdentityService:主要用于控制用户和用户组,要注意流程引擎本身是没有用户限制的,在用户任务的时候可以指定用户完成,这个不是必须的。这个服务包括用户以及用户组的:创建,保存和删除,以及它们之间的关系,用户详细信息的创建等操作。
TaskService:主要用于流程中的任务节点的相关操作,BPMN实际上有很多种类型的任务,不单单是用户任务,这个的设置主要是针对用户任务的相关设置,其它类型的任务并不需要太多的设置,大部分都是自动类型的任务,需要相应的触发条件。
FormService:主要用于表单数据的保存和获取,有启动流程的表单和任务过程中产生的表单。
ManagementService:这个服务功能比较杂,看里面的方法大致有这些功能:查询数据库表的相关信息,Job相关的查询,删除。还有事件日志的相关操作。总的来说是activiti的一些全局相关的操作。
DynamicBpmnService:这个服务是5.19版本后新增的一个服务,和RepositoryService的作用相似,都是与流程定义有关,但是却完全不同。从名字上来看是动态的BPMN服务,看里面的方法都是改变流程的相关属性。这个方法就可以直接操作流程定义,而不需要读取模型,再设计部署(一个流程基本要经过创建模型,设计画图,生产BPMN的XML文件,再部署成流程定义,这个服务就可以直接操作流程定义,不会改变原本的文件,个人感觉可能会带来一些的问题,但是目前对于流程流转内部实现还没有完全理解,使用要谨慎,比如有的流程正在运行老版本的定义,这个时候改变流程定义,接下来怎么流转之类的都是问题)。
流程图审批人的设置

activiti的流程
1、部署流程

         repositoryService.createDeployment() //创建部署.name(deployFile.getOriginalFilename()) //需要部署流程名称.addZipInputStream(new ZipInputStream(deployFile.getInputStream()))//添加ZIP输入流.deploy();//开始部署

2、启动流程

        Map<String,Object> variables=new HashMap<String,Object>();variables.put("leaveId", leaveId);// 启动流程ProcessInstance pi= runtimeService.startProcessInstanceByKey("hello",variables); // 根据流程实例Id查询任务Task    task=taskService.createTaskQuery().processInstanceId(pi.getProcessInstanceId()).singleResult(); // 完成 学生填写请假单任务        taskService.complete(task.getId()); Leave leave=leaveService.findById(leaveId);//修改状态leave.setState("审核中");leave.setProcessInstanceId(pi.getProcessInstanceId());// 修改请假单状态leaveService.updateLeave(leave);

springBoot搭建activiti工作流相关推荐

  1. SpringBoot集成activiti工作流

    SpringBoot集成activiti工作流(模拟请假流程) 链接:https://pan.baidu.com/s/10BT_Zertm1WBBrlrdE-QWQ  提取码:zsq6 学习视频地址见 ...

  2. # SpringBoot 整合 Activiti 工作流框架

    SpringBoot 整合 Activiti 工作流框架 Activiti 介绍 Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调 ...

  3. SpringBoot整合Activiti工作流

    依赖: 新建springBoot项目时勾选activiti,或者在已建立的springBoot项目添加以下依赖: <dependency><groupId>org.activi ...

  4. Activiti工作流之流程分支

    回顾: Activiti工作流之简介与环境搭建 Activiti工作流之流程部署和相关操作 Activiti工作流之任务的运行/查询/完成 Activiti工作流之流程变量 Activiti工作流之历 ...

  5. Spring Boot + Activiti 工作流框架搭建

    文章目录 前言: Java工作流引擎与Activiti 框架搭建环境与步骤总览 创建Spring Boot项目 引入activiti等依赖包 安装activiti designer 绘制流程 流程名以 ...

  6. Activiti工作流使用之SpringBoot整合Activiti

    Activiti工作流使用之SpringBoot整合Activiti 文章目录 Activiti工作流使用之SpringBoot整合Activiti 一.springboot整合Activiti环境依 ...

  7. activiti工作流引擎入门教程

    activiti简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准. Activiti是一种轻量级,可嵌入的BPM引擎,而且 ...

  8. Activiti 工作流简介

    1.什么是工作流 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是"使在多个参与者之间按照某种预定义的规则自动进行传递文档.信息或任务的过程,从而实现某个预 ...

  9. activiti 工作流_springboot+activiti+angular 集成activiti工作流实现,源码分享

    springboot+activiti+angular 这是spring boot框架集成activiti工作流实现,采用目前流行的restful api接口调用,前端使用angular js框架实现 ...

最新文章

  1. php cannot find libz,brew安装php70出现configure: error: Cannot find libz 错误解决方法
  2. 内存、数据结构之栈和堆的区别?
  3. subline类似less的html插件,29个常用 Sublime Text 插件推荐
  4. python random randint_python中random.randint和random.randrange的区别详解
  5. helm安装_如何利用 Helm 在 Kubernetes 上快速部署 Jenkins
  6. POJ3281:Dining——题解
  7. 总结全网最全的数据学习平台
  8. Android TelephonyManager获取LET信息及手机基本信息
  9. 每日新闻:国美与车势达成独家战略合作;腾讯Tsrc年度峰会破界召开;日本将允许高度自动驾驶车上路;“开源芯片”是芯片发展的新潮流...
  10. 作业---舞台剧 前端页面显示
  11. 2022年全国计算机四级考试精选模拟题及答案
  12. 南京大学比中科大计算机与科学专业,教育部直属:16所“软件工程”专业强校,浙大、南大、中科大上榜...
  13. CIE1931色度坐标及黑体轨迹
  14. 高级数据结构之赫夫曼树
  15. wpdec函数_BP神经网络滚动轴承故障诊断研究
  16. Oracle问题处理——DBCA无法识别当前已有数据库实例
  17. 清华大学计算机专业的cpu,我们研制成功进入世界500强的超级计算机
  18. 如何使用《背景音乐提取器》提取歌曲中的背景音乐
  19. 围棋口诀两百句(转)
  20. 我们不仅仅做软件 云工作台+ 聚合·共享

热门文章

  1. oracle利用触发器实现自增列
  2. SAP在物流工作中的应用之学习笔记
  3. SAP BW数据源增强管理
  4. Data Remove 程序总结
  5. 2020年全国压岁钱榜单出炉,今年小朋友压岁钱归谁?
  6. 作业帮、猿辅导、学而思们,正在经历自己的高考
  7. Linux主机密码设置,Linux如何批量创建用户和设置密码
  8. 扇区示意图计算机组成原理,计算机组成原理本.ppt
  9. python从ip端口 获取数据_python 如何获得Ip地址和端口啊?
  10. python编程需要安装什么软件_[零基础学pythyon]安装python编程环境