因为电脑还在托运中,现在手上这台垃圾电脑实在是没法玩微服务,所以趁着这两天玩玩Activiti吧。

  说实话,在学习Activiti中走了N多弯路,最大的原因就是网上没有一个完整(好)的教程,甚至连官方的文档坑也是巨多,比如默认是h2数据库,其它数据库需要手动指定之类就没写明。所以我决定站出来,写出一篇能让很多人在学习Activiti时少走点弯路的笔记。

  首先,因为我使用的工具是STS(Eclipse安装一些Spring提供的插件),所以我们需要安装一个activiti-desgner插件,这是为了后面画流程图用的,具体安装方法百度即可,我这里提供一个安装包,因为官网下载巨慢无比,还超级卡,最重要的是容易失败,所以推荐使用此安装包进行离线安装。

链接:https://pan.baidu.com/s/1i6Pwbwp 密码:xksi

因为springboot比较好用,所以我们创建一个springboot项目

这是pom文件,引入activiti基本包以及mysql驱动包

其实如果使用的是STS的话,直接右键创建springboot项目,然后在创建界面可以直接选包,十分方便。

这是yml文件

配置写完后可以直接右键启动,不过注意,先在mysql中创建一个对应的数据库

通过观察日志我们发现,它读取并执行了三个sql文件

这三个sql文件分别是

engine:引擎

history:历史

identity:认证

而在数据库中则生成了下面这25张表

使用插件创建一个bpmn流程图文件吧

创建成功后,我们点一下startEvent这个按钮然后再按一下空白处,并且打开Properties控制台,并将id和name改为与我们bpmn文件名相同(这是规范)

保存一下,然后使用xml格式打开,这个操作没法截图,就是右击,然后open with,就能看到了

看到这差不多清楚了吧,其实流程图插件所做的就是将xml配置图形化了,方便我们开发。我们关注process标签里的元素即可,下面的是它在流程图里的大小和坐标位置。

我们来创建一个完成的审批任务链吧

此时再以xml格式打开

此时可以看到,除了本身任务节点被记录外,还有一个类似链表形式的序列节点,让每个任务按照我们图表中定义的那样产生了关联.

现在有点晚了,明天再继续写下去吧,不得不说spring boot简直太强大了,很多配置我们完全不用去做,直接拿着用(自动注入)就行了。明天的笔记里应该会有体现;

2018/2/27 Activiti教程之创建流程篇(与Springboot整合版)一的更多相关文章

  1. 2018/3/4 Activiti教程之对于流程的基本操作以及从发起到完成还有相关注意事项(与Springboot整合版)三

    写教程实在太累了,,,还浪费时间,Activiti教程就写到这好了,不过最近在玩区块链,到时候写几个区块链方面的教程. 这是一些流程的查询与删除api,删除这块,默认是级联删除(加个false参数,就 ...

  2. (转) SpringBoot非官方教程 | 第二十四篇: springboot整合docker

    这篇文篇介绍,怎么为 springboot程序构建一个Docker镜像.docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的 ...

  3. SpringBoot非官方教程 | 第二十四篇: springboot整合docker

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot24-docker/ 本文出自方志朋的博客 这篇文 ...

  4. 2018/3/4 Activiti教程之流程部署篇(与Springboot整合版)二

    首先我们来看下Activiti为我们自动生成的这四张用户相关的表 先看下USER表 我已经插入了一些数据,很明显,就是保存用户的信息的 看下GROUP 用户对应的分组信息 MEMBERSHIP 用户和 ...

  5. SpringBoot非官方教程 | 第十五篇:Springboot整合RabbitMQ

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot15-rabbitmq/ 本文出自方志朋的博客 这 ...

  6. SpringBoot非官方教程 | 第二十六篇: sprinboot整合elk,搭建实时日志平台

    转载请标明出处: 原文首发于https://www.fangzhipeng.com/springboot/2017/07/11/sprinboot25-elk/ 本文出自方志朋的博客 这篇文章主要介绍 ...

  7. SpringBoot非官方教程 | 第六篇:springboot整合mybatis

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-mybatis/ 本文出自方志朋的博客 本文主要 ...

  8. SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot4-jpaJ/ 本文出自方志朋的博客 JPA全称J ...

  9. (转)SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

    首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题. 一.apidoc简介 apidoc通过在你代码的注释来生 ...

随机推荐

  1. UIAlertController的使用,代替UIAlertView和UIActionSheet

    在iOS8以后,UIAlertView就开始被抛弃了. 取而代之是UIAlertController 以前是警示框这样写: UIAlertView *alert = [[UIAlertView all ...

  2. 169 Majority Element 求众数 数组中出现次数超过一半的数字

    给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素.你可以假设数组是非空的,并且数组中的众数永远存在. 详见:https://leetcode.com/p ...

  3. 017:COM1无法打开

    重新安装系统以后,COM1无法正常打开,重启以后也是如此.到设备管理器下,禁用COM1然后重启可以正常使用.修改COM1为别的COM号,重启以后可以正常使用.用Pcomm控件,打开该串口,错误号是-8 ...

  4. sdut1282Find the Path (floyd变形)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1282 感觉这题就比较有意思了 ,虽说是看了别人 ...

  5. 策略模式--Java篇

    策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户. 下面将以商场打折为例子,说明策略模式.商场收银如何促销,用打折还是 ...

  6. Android习惯--Activity启动方法

    public void Text extends Activity{ public void static actionStart(Context context, int i, String str ...

  7. 浅谈CSS中的定位知识

    1,静态定位(static) 表示按照正常定位方案,元素盒按照在文档流中出现的顺序依次格式化: 2,相对定位(relative) 将移动元素盒,但是它在文档流中的原始空间会保留下来: 相对定位元素有如 ...

  8. Google浏览器开发者工具:CSSViewer(一个Css查看器)

    CSSViewer的简介 CSSViewer是一款可以帮助用户快速查看当前的网页元素的CSS属性的谷歌浏览器插件,在Chrome中安装了CSSViewer插件以后,用户就可以在设计网页的时候,快速地模 ...

  9. C# GDI+ 画坐标(x,y)

    private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.Clear ...

  10. java的回调方式

    经常写js的回调,js的回调很简单,直接传方法名称,但是java中方法不能作为参数传递 但是java中可以传一个对象,在对象中编写多个方法,然后作为参数传递到对象里以后,就可以在适当的时机调用该对象里 ...