Activiti6.0-写在前面的话

Activiti是什么

当你打开这篇博客时,说明你还不知道Activiti是什么,那么工作流引擎对你来说也是新的概念,我这里不去copy百度百科了,简单说Activiti是一个开源的自动化业务工作引擎,担有一点不要和Android的Activity搞混了。

为什么使用工作流引擎

简单来说,当你在复杂的业务流程中过多的使用if…else那是超级崩溃的,我不知道你们有没有这样的经历,我曾经在一个项目中做新闻模块时,那个时候还是一个新手,在返回国内新闻,省内新闻,市内新闻等等时过多的使用if…else…,首先代码可读性很差,其次维护起来相当难受,尤其是像请假等审批模块更是广泛应用,至于以后的工作中能不能用到,我是这样理解的,几乎我从事职业的招岗位所要求的技术,我都会去学习,但时间有限,精力有限,况且学完以后不用的话,肯定会忘得一干二净,但还是要学习的,我学一个新技术不去深入研究它,只去了解它,使用它,至少和同事或者朋友聊天的时候能听懂,不至于听天书一样。当公司项目有一天需要用到这个技术了,我在花几天时间,复习一下,研究一下源码,我觉得这种比较好,但假如说你在需要某项技术的时候再从头学习,表面看没什么问题,但是当你在不了解未学习的技术时,去解决问题可能会导致你使用更好的解决方案。

快速开始一个案例

我习惯使用SpringBoot,因为可以快速搭建环境,首先加入Pom依赖

		<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-engine</artifactId>
            <version>5.21.0</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring</artifactId>
            <version>5.21.0</version>
        </dependency>
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-bpmn-model</artifactId>
            <version>5.21.0</version>
        </dependency>

如果你使用Maven创建的项目记得加入junit依赖,然后生成activiti的25张表,首先创建一个数据库,然后创建一个测试类如下:

 	/**
     * 生成Activiti所需要的25张表
     */
    @Test
    public void testCreateTable() {
        // 获取流程引擎配置
        ProcessEngineConfiguration configuration=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
        // 配置驱动
        configuration.setJdbcDriver("com.mysql.jdbc.Driver");
        // 配置连接地址
        configuration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/db_activiti?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC");
        // 配置用户名
        configuration.setJdbcUsername("root");
        // 配置密码
        configuration.setJdbcPassword("oywh");
        // 自动创建表,并且会更新
        configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
        // 获取流程引擎
        ProcessEngine processEngine = configuration.buildProcessEngine();
    }

直接运行Junit就可以在Mysql中创建25张表,当然这种使用配置类的方法不太好,下面介绍一种使用配置类的方法,首先在resources下创建配置文件activiti.cfg.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">
 
  <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
 
    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_activiti" />
    <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
    <property name="jdbcUsername" value="root" />
    <property name="jdbcPassword" value="oywh" />
 
    <property name="databaseSchemaUpdate" value="true" />
 
  </bean>
 
</beans>

然后编写测试用例如下:

 	@Test
    public void testCreateTableByXml() {
        // 获取流程引擎配置
        ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
        // 获取流程引擎对象
        ProcessEngine processEngine = configuration.buildProcessEngine();
    }

下面再idea上安装activiti插件actiBPM,去学这个技术的基本都会装
点击菜单【File】–>【Settings…】打开【Settings】窗口。
点击左侧【Plugins】按钮,在右侧输出"actiBPM",点击下面的【Search in repositories】链接会打开【Browse Repositories】窗口。
在这里插入图片描述

进入【Browse Repositories】窗口,选中左侧的【actiBPM】,点击右侧的【Install】按钮,开始安装。
在这里插入图片描述

安装完成后,会提示【Restart IntelliJ IDEA】,重启IDEA即可完成安装
在这里插入图片描述

点击菜单【File】–>【New】–>【BpmnFile】
在这里插入图片描述

输入文件名称,点击【OK】按钮
.在这里插入图片描述

会出现如下绘制界面,按住鼠标左键拖拽右侧图标,将其拖下左侧界面上,同样的方式再拖拽其他图标
在这里插入图片描述

右击bpmn文件,选择【Refactor】–>【Rename】,修改其扩展名为.xml,点击【Refactor】,改完以后xml文件会报错,不用管。接着右击此xml文件,选择【Diagrams】–>【Show BPMN 2.0 Diagrams…】,打开如下界面
在这里插入图片描述

点击上图中【Export to file】图标,弹出【Save as image】窗口,点击【OK】即可导出png图片
在这里插入图片描述

再转成图片的过程中如果文字出现乱码,在IDEA的安装目录,在下面两个文件中加上-Dfile.encoding=UTF-8
在这里插入图片描述

好了,今天就先说到这里吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值