zoukankan      html  css  js  c++  java
  • Activiti简单学习心得一

    前言:

    在做项目的时候,公司的项目要用到Activiti,所以,我就开始了各种资料的搜寻,包括视频,代码,源码等等等等,都尝试了一遍,但是还是感觉学不好。有一本书还挺不错的,推荐给大家,这一系列的书其实都挺不错的《Activiti in action》,可以有中文版的电子档,建议可以去买一本这样的书。毕竟嘛,支持原创。


    如果是刚开始学习Activiti的话,其实最重要就是BPMN2.0规范了,Activiti只是一种实现了大部分BPMN2.0规范的工作流框架而已。但是我不建议大家一开始就去看BPMN2.0规范,因为看不懂,我也看不懂。那么学习Activiti怎么样才是有效的呢?


    其实Acitivit中涉及到很多的数据库表,总共有23张,但是有部分的数据表是没有用到的,当然这个得看具体功能了。如下图是23张Activiti表,记住,这23张表不是让你手动去创建的,在Activiti当中已经有关于这方面的操作了。所以你别担心。接下来我就来说说,怎么去创建Activiti的23张表吧。如下图是23张表:


    1、既然是学习Activiti的框架,那么首先肯定是离不开项目了,首先创建一个项目,所有项目都采用Maven管理,这样就省去依赖关系的jar包。

    创建Maven项目自行网上搜索,这里不再赘述。那么导入jar包,也自然而然是在maven项目当中的pom.xml文件啦。

    如下图是maven项目当中的pom文件图片:


    这里关于dependency我就不多说了。其他的需要的jar包请自行添加。


    2、添加完jar包的依赖之后,在联网的情况下,会自动下载相关的jar包,不需要你管,下载完成以后,可以在如下的Maven Dependencies中查看到对应的jar包。

    3、我们添加一个Junit测试,所以添加一下JUnit4的jar包。如上图所示:

    4、在src/main/java目录下创建一个com.xqkj.java包,在这个包下编写一个java类,名称为TestJava.如下图所示:(resources下的activiti.cfg.xml文件没有没关系,可以删除)


    5、在该类当中填入编写如下的代码:(关于具体配置细节,先有个大概的认识)

    package com.xqkj.test;
    
    import org.activiti.engine.ProcessEngine;
    import org.activiti.engine.ProcessEngineConfiguration;
    
    import org.junit.Test;
    
    public class TestJava {
    	
    	/**使用代码创建工作流需要的23张表*/  
        @Test  
        public void createTable(){  
            //流程引擎ProcessEngine对象,所有操作都离不开引擎对象  
            ProcessEngineConfiguration processEngineConfiguration =  
                    ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();  
            //连接数据库的配置  
            processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");  
            processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/yarcl?useUnicode=true&characterEncoding=utf8");  
            processEngineConfiguration.setJdbcUsername("root");  
            processEngineConfiguration.setJdbcPassword("root");  
          
            //三个配置  
            //1.先删除表,再创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP="create-drop"  
            //2.不能自动创建表,需要表存在:processEngineConfiguration.DB_SCHEMA_UPDATE_FALSE="false"  
            //3.如果表存在,就自动创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE="true"  
            processEngineConfiguration.setDatabaseSchema(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);  
            //获取工作流的核心对象,ProcessEngine对象  
            ProcessEngine processEngine=processEngineConfiguration.buildProcessEngine();  
            System.out.println("processEngine:"+processEngine+"Create Success!!");  
        }  
    	
    
    }
    
    
    6、这个时候,双击createTable这个类,进行单元测试,如果控制台出现如下的内容,说明23张表创建成功!



    学习、成长
  • 相关阅读:
    python学习笔记 day28 内置函数进阶实例
    python学习笔记 day28 面向对象的进阶
    python学习笔记 day27 内置方法
    python学习笔记 day27 反射(二)
    python学习笔记 day26 反射-----hasattr getattr delattr
    python学习笔记 day26 类方法classmethod 和 静态方法 staticmethod ---------都是面向对象的内置函数(装饰器)
    python学习笔记 day26 私有属性 和 property
    python学习笔记 day25 封装
    python学习笔记 day25 多态
    #Leetcode# 728. Self Dividing Numbers
  • 原文地址:https://www.cnblogs.com/yarcl/p/11046783.html
Copyright © 2011-2022 走看看