Activiti工作流从入门到入土:入门实例
一、前言
在上一节中我们对activiti进行了基本的详情activiti进行了基本的详情,同时详情了基本的概念。
这一节,我将用一个入门程序,详情如何使用activiti。
二、环境准备
2.1、编译器选择
这里我们使用Idea
进行工作流开发,尽管Idea对于工作流的友好度不是很好,由于会有少量小的bug,但是,Idea对于Java的开发还是非常的好的。
在用Idea开发之前,我们需要在idea中安装bpmn开发的插件。方法如下
打开设置
图片.png
选择plugins
图片.png
搜索actiBPM
图片.png
重启idea,新建文件
假如能够找到下面的创立方法,就代表成功了。
图片.png
新建后出现下面的编辑页面
图片.png
到现在,bpmn编辑插件就准备好了。
2.2、其余环境准备
- JDK:1.8
- 数据库:mysql5.7
- activiti jar包:使用maven依赖
三、入门程序
3.1、新建maven项目
新建的maven项目目录如下
图片.png
3.2、增加pom依赖
这里需要的pom依赖有以下几个:junit、druid、mysql、lombok(日志)、activiti
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/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> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.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 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
表结构
图片.png
四、总结
通过上面是入门实例,就将activiti的环境准备好了!
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Activiti工作流从入门到入土:入门实例
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Activiti工作流从入门到入土:入门实例