文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig
欢迎 star !!!
一、前言
在上一节中我们对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的环境准备好了!
文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:
好好学java
,获取优质学习资源。
相关推荐
Activiti工作流引擎是Java平台上的一个开源工作流管理系统,专为简化业务流程自动化而设计。它使用BPMN(Business Process Model and Notation)2.0标准进行流程建模,使得非技术人员也能理解并创建复杂的业务流程。...
Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...
Activiti工作流HelloWorld入门教程 Activiti是一款开源的工作流引擎,它基于Java技术,用于在企业级应用中实现业务流程自动化。这个“Activiti工作流HelloWorld入门”旨在帮助初学者快速理解并掌握Activiti的基本...
activiti工作流文档,超详细,从0基础开始入门,包括数据库介绍、核心api等介绍,满足日常开发所需
Activiti是一款开源的工作流引擎,它基于模型驱动的架构(MDA),专为现代企业应用程序设计,用于处理业务流程自动化。这个"Activiti工作流示例Activiti Demo"提供了完整的源代码,帮助开发者深入理解并实际操作...
此项目为springmvc、Mybatis、EHcache、maven、Spring security3、activiti5工作流的整合 是一个基于数据库的权限管理demo项目、使用mysql数据库 项目运行前需要构建maven私服 而且有些jar包私服中肯定没有,需要...
### Activiti工作流知识点概述 #### 一、工作流概念及其执行过程 1. **工作流定义**: - 工作流是指“业务过程的部分或整体在计算机应用环境下的自动化”。具体而言,它旨在通过预定义的规则来自动处理文档、信息...
这个工作流实例提供了关于如何在实际项目中应用 Activiti 的详细示例。由于网上关于 Activiti 的实例相对较少,这个实例对于学习和理解 Activiti 的功能和用法尤其有价值。 在 Activiti 中,工作流主要通过定义 ...
Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程
Activiti作为一个工作流引擎,可以处理从简单审批流程到复杂的业务流程的多种场景。 3. **流程体验**: 使用Activiti,开发者可以通过流程定义语言(BPMN 2.0)设计流程图,直观地表示出任务之间的关系和流转逻辑...
### 前后端分离项目中引入Activiti工作流引擎 #### 一、概述 在当前的软件开发中,前后端分离已经成为了一种常见的架构模式。这种模式将前端的用户界面与后端的数据处理逻辑分开,提高了开发效率,同时也使得系统...
Activiti工作流课程.pdf为读者提供了一个系统的Activiti工作流知识框架,涵盖了工作流的概念、Activiti的介绍、工作流引擎、BPMN业务流程建模与标注、数据库支持等方面的知识点,是学习Activiti工作流的不二之选。
【标题】"activiti工作流项目"是一个基于Java技术栈实现的工作流管理系统示例,它集成了SpringMVC、Hibernate和Activiti等关键组件。这个项目旨在演示如何在实际应用中利用Activiti来构建动态表单和处理各种流程审批...
Activiti作为一个工作流引擎,允许开发者通过编程或使用图形化工具定义、执行和管理这些流程。 在Activiti中,流程定义是用BPMN 2.0(Business Process Model and Notation)语言编写的,这是一种国际标准,用于...
根据提供的文件信息,我们可以深入探讨Activiti工作流框架的相关知识点。 ### Activiti工作流框架概述 Activiti工作流框架是一款由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。它以其灵活性、易用...
传智播客_Activiti工作流视频(企业开发实例讲解)传智播客_Activiti工作流视频(企业开发实例讲解)传智播客_Activiti工作流视频(企业开发实例讲解)
Activiti工作流是一款开源的工作流程管理系统,主要用于企业的业务流程自动化。它基于模型驱动的设计理念,提供了丰富的API和图形化设计工具,使得开发者可以方便地创建、部署和管理工作流程。本操作手册旨在帮助...
通过这个"activiti工作流案例",你可以动手操作,实践每个环节,从流程设计、部署到执行,从而更好地理解和掌握Activiti工作流引擎的使用。同时,这也有助于你深入理解BPMN 2.0标准和业务流程自动化的核心概念。在...
Activiti是一个工作流引擎, activiti可以将业务系统中复杂的业务流程抽取出来,使用专门的建模语言BPMN2.0进行定义,业务流程按照预先定义的流程进行执行,实现了系统的流程由activiti进行管理,减少业务系统由于...
【Activiti工作流引擎快速入门】 工作流是企业日常运营中的关键组成部分,它涉及文档、信息或任务在不同执行者间的传递,按照预设规则自动执行。Activiti是一款开源的工作流引擎,自2010年发布以来,因其强大功能和...