一、前言
在上一节中我们对activiti进行了基本的介绍activiti进行了基本的介绍,同时介绍了基本的概念。
这一节,我将用一个入门程序,介绍如何使用activiti。
二、环境准备
2.1、编译器选择
这里我们使用Idea
进行工作流开发,虽然Idea对于工作流的友好度不是很好,因为会有一些小的bug,但是,Idea对于Java的开发还是非常的好的。
在用Idea开发之前,我们需要在idea中安装bpmn开发的插件。方法如下
打开设置
选择plugins
搜索actiBPM
重启idea,新建文件
如果能够找到下面的创建方法,就代表成功了。
新建后出现下面的编辑页面
到现在,bpmn编辑插件就准备好了。
2.2、其他环境准备
JDK:1.8数据库:mysql5.7activiti jar包:使用maven依赖三、入门程序
3.1、新建maven项目
新建的maven项目目录如下
3.2、添加pom依赖
这里需要的pom依赖有以下几个:junit、druid、mysql、lombok(日志)、activiti
<?xml version="1.0" encoding="UTF-8"?><project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sihai</groupId><artifactId>acitvitiDemo</artifactId><version>1.0-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><piler.source>1.8</piler.source><piler.target>1.8</piler.target></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.12</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency><!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.12</version></dependency><!-- logback --><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.1.8</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.1.8</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.22</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>5.22.0</version></dependency></dependencies><build><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></pluginManagement></build></project>
3.3、日志配置文件
<?xml version="1.0" encoding="UTF-8"?><configuration scan="true" scanPeriod="60 seconds"><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern></encoder></appender><!--<appender name="permission" class="ch.qos.logback.core.rolling.RollingFileAppender">--><!--<file>${catalina.home}/logs/permission.log</file>--><!--<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">--><!--<FileNamePattern>${catalina.home}/logs/permission.%d{yyyy-MM-dd}.log.gz</FileNamePattern>--><!--</rollingPolicy>--><!--<layout class="ch.qos.logback.classic.PatternLayout">--><!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>--><!--</layout>--><!--</appender>--><!----><!--<logger name="xxx" level="INFO">--><!--<appender-ref ref="permission"/>--><!--</logger>--><!-- TRACE < DEBUG < INFO < WARN < ERROR --><root level="INFO"><appender-ref ref="STDOUT"/></root></configuration>
3.4、测试实例
下面是添加一个junit测试实例,通过测试生成activiti底层需要的数据库表,总共有25张,如果数据库生成了25张表结构,则说明成功!
/*** @Author ouyangsihai* @Description 生成activiti底层数据库表结构* @Date 16:24 /1/26* @Param* @return**/public class Activiti_01 {/*** @return void* @Author ouyangsihai* @Description //生成数据库表结构* @Date 20:57 /12/5* @Param []**/@Testpublic 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");// 设置jdbcURLpec.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张表结构。
日志信息
表结构
四、总结
通过上面是入门实例,就将activiti的环境准备好了!
文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:
好好学java
,获取优质学习资源。