Activiti工作流从入门到入土:入门实例

原文链接:blog.ouyangsihai.cn >> Activiti工作流从入门到入土:入门实例

文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig
欢迎 star !!!

一、前言

在上一节中我们对activiti进行了基本的介绍activiti进行了基本的介绍,同时介绍了基本的概念。

这一节,我将用一个入门程序,介绍如何使用activiti。

二、环境准备

2.1、编译器选择

这里我们使用Idea进行工作流开发,虽然Idea对于工作流的友好度不是很好,因为会有一些小的bug,但是,Idea对于Java的开发还是非常的好的。

在用Idea开发之前,我们需要在idea中安装bpmn开发的插件。方法如下

打开设置

Activiti工作流从入门到入土:入门实例_第1张图片
图片.png

选择plugins

Activiti工作流从入门到入土:入门实例_第2张图片
图片.png

搜索actiBPM

Activiti工作流从入门到入土:入门实例_第3张图片
图片.png

重启idea,新建文件

如果能够找到下面的创建方法,就代表成功了。


Activiti工作流从入门到入土:入门实例_第4张图片
图片.png

新建后出现下面的编辑页面

Activiti工作流从入门到入土:入门实例_第5张图片
图片.png

到现在,bpmn编辑插件就准备好了。

2.2、其他环境准备

  • JDK:1.8
  • 数据库:mysql5.7
  • activiti jar包:使用maven依赖

三、入门程序

3.1、新建maven项目

新建的maven项目目录如下


Activiti工作流从入门到入土:入门实例_第6张图片
图片.png

3.2、添加pom依赖

这里需要的pom依赖有以下几个:junit、druid、mysql、lombok(日志)、activiti




    4.0.0

    com.sihai
    acitvitiDemo
    1.0-SNAPSHOT


    
        UTF-8
        1.8
        1.8
    

    
        
            junit
            junit
            4.12
            test
        

        
        
            com.alibaba
            druid
            1.1.12
        

        
        
            mysql
            mysql-connector-java
            5.1.30
        

        
        
            org.projectlombok
            lombok
            1.16.12
        

        
        
            ch.qos.logback
            logback-core
            1.1.8
        
        
            ch.qos.logback
            logback-classic
            1.1.8
        
        
            org.slf4j
            slf4j-api
            1.7.22
        

        
            org.activiti
            activiti-engine
            5.22.0
        
    

    
        
            
                
                    org.apache.maven.plugins
                    maven-compiler-plugin
                    
                        1.8
                        1.8
                    
                
            
        
    


3.3、日志配置文件




    
        
            %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n
        
    

    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
        
    


3.4、测试实例

下面是添加一个junit测试实例,通过测试生成activiti底层需要的数据库表,总共有25张,如果数据库生成了25张表结构,则说明成功!

/**
 * @Author ouyangsihai
 * @Description 生成activiti底层数据库表结构
 * @Date 16:24 2019/1/26
 * @Param
 * @return
 **/
public class Activiti_01 {
    /**
     * @return void
     * @Author ouyangsihai
     * @Description //生成数据库表结构
     * @Date 20:57 2018/12/5
     * @Param []
     **/
    @Test
    public void test_createDatabase() {
        // 创建流程引擎配置信息对象
        ProcessEngineConfiguration pec = ProcessEngineConfiguration
                .createStandaloneProcessEngineConfiguration();
        // 设置数据库的类型
        pec.setDatabaseType("mysql");
        // 设置创建数据库的方式
//        ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE(true);//如果没有数据库表就会创建数据库表,有的话就修改表结构.
        // ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE(false): 不会创建数据库表
        // ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP(create-drop): 先创建、再删除.
        pec.setDatabaseSchemaUpdate("true");
        // 设置数据库驱动
        pec.setJdbcDriver("com.mysql.jdbc.Driver");
        // 设置jdbcURL
        pec.setJdbcUrl("jdbc:mysql://localhost:3306/activitiTest?useUnicode=true&characterEncoding=UTF-8");
        // 设置用户名
        pec.setJdbcUsername("root");
        // 设置密码

        pec.setJdbcPassword("root");

        pec.setJdbcPassword("XXXX");

        // 构建流程引擎对象
        ProcessEngine pe = pec.buildProcessEngine(); // 调用访方法才会创建数据表
        // 调用close方法时,才会删除
        pe.close();
    }
}

3.5、运行测试实例

运行上面的测试实例后,将会生成下面的25张表结构。

日志信息

图片.png

表结构

Activiti工作流从入门到入土:入门实例_第7张图片
图片.png

四、总结

通过上面是入门实例,就将activiti的环境准备好了!

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号好好学java,获取优质学习资源。

你可能感兴趣的:(Activiti工作流从入门到入土:入门实例)