环境配置

项目环境:

JDK1.8

tomcat7

maven3.5

开发工具:

IDEA

activiti7

创建项目

目标:创建一个maven项目,集成Activiti,并自动生成25张数据库表

准备工作

在数据库中运行:

CREATE DATABASE activiti DEFAULT CHARACTER SET utf8;

用于创建Activiti数据库

在项目中会使用到BPMN图形,所以要先安装actiBPM插件,安装方法如下:

在IDEA中实用快捷键Shift+Ctrl+Alt+S打开环境中心

新建一个maven项目

1.点击new Project创建一个新项目

2.选择maven项目创建

3.填写项目信息

4.设置maven信息

5.点击flsh完成项目创建,创建结构如下

6.补全项目中main文件夹下的java,resource等源文件夹

在IDEA中实用快捷键Shift+Ctrl+Alt+S打开环境中心,选择main包,右键new folder依次新建缺少的文件夹

7.创建完成后与对应文件源一一点击对应

8.在resources包下创建activiti.cfg.xml

代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xmlns:context="http://www.springframework.org/schema/context"

      xmlns:tx="http://www.springframework.org/schema/tx"

      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/contex http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>

       <property name="url" value="jdbc:mysql://192.168.0.114:3306/activiti"/>

       <property name="username" value="root"/>

       <property name="password" value="123456"/>

   </bean>

   <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

       <property name="dataSource" ref="dataSource"></property>

       <property name="databaseSchemaUpdate" value="true"/>

   </bean>

</beans>

9.在resources包下创建log4j.properties

代码如下

# Set root category priority to INFO and its only appender to CONSOLE.

#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal

log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.

log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m

# LOGFILE is set to be a File appender using a PatternLayout.

log4j.appender.LOGFILE=org.apache.log4j.FileAppender

log4j.appender.LOGFILE.File=/Users/apple/学习/study/activity/activity_01/xis.log

log4j.appender.LOGFILE.Append=true

log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout

log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m

9.在test包下创建测试类,生成数据库表文件

import org.activiti.engine.ProcessEngine;

import org.activiti.engine.ProcessEngineConfiguration;

import org.activiti.engine.ProcessEngines;

import org.junit.Test;

/**

* @author : YXC

* @version : 1.0

* @description :

* @date : 2020/11/17 16:50

*/

public class ActivitiTest {

   @Test

   public  void testGenTable(){

       //1.创建ProcessEngineConfiguration对象

       ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");

       //2.创建ProcessEngine对象

       ProcessEngine processEngine = configuration.buildProcessEngine();

       System.out.println(processEngine);

   }

   @Test

   public void testGenTable2(){

       //使用下面这种方式生成表的条件

       //1.activiti配置文件名称必须为activiti.cfg.xml

       //2.bean的id必须为"processEngineConfiguration"

       ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();

       System.out.println(defaultProcessEngine);

   }

}

10.生成表结构如下

Java 的知识面非常广,面试问的涉及也非常广泛,重点包括:Java 基础、Java 并发,JVM、MySQL、数据结构、算法、Spring、微服务、MQ 等等,涉及的知识点何其庞大,所以我们在复习的时候也往往无从下手,今天小编给大家带来一套 Java 面试题,题库非常全面,包括 Java 基础、Java 集合、JVM、Java 并发、Spring全家桶、Redis、MySQL、Dubbo、Netty、MQ 等等,包含 Java 后端知识点 2000 + ,部分如下:

资料获取方式:关注公众号:“程序员白楠楠”获取上述资料

建议收藏,从零开始创建一个Activiti工作流,手把手教你完成的更多相关文章

  1. 从零开始创建一个 PHP 扩展

    创建一个扩展的基本步骤都有哪些.示例中,我们将实现如下功能: <?phpecho say();?> 输出内容: $ php ./test.php$ hello word 在扩展中实现一个s ...

  2. 5.从零开始创建一个QT窗口按钮

    如何创建一个QT项目 如何创建一个QT项目 1.创建新项目 2.配置选择 3.增加按钮 4.按钮和窗体的大小标签图标设置 5.信号与槽 6.自定义信号与槽 代码 1.创建新项目 点击文件->新建 ...

  3. [STM32F10x] 从零开始创建一个基于标准库的工程

    硬件:STM32F103C8T6 平台:MDK-AMR V4.70 1.创建一个Keil uVision 的工程 要点:相同类型的源文件放在一起以便于管理       2.添加标准库源文件 3.添加几 ...

  4. 《30天学习30种新技术》-Day 15:Meteor —— 从零开始创建一个 Web 应用

    目录:https://segmentfault.com/a/1190000000349384 原文: https://segmentfault.com/a/1190000000361440 到目前为止 ...

  5. HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第5章CSS盒子模型

    本教程案例在线演示 有路网PC端 有路网移动端 教程配套源码资源 教程配套源码资源 div div 可定义文档中的分区(division). div 标签可以把网页分割为独立的.不同的部分. 可以看成 ...

  6. 手把手教你如何玩转Activiti工作流

    手把手教你如何玩转Activiti工作流 置顶 2018年01月30日 19:51:36 Cs_hnu_scw 阅读数:24023   版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  7. (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...

  8. (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...

  9. Activiti工作流 安装myeclipse activiti设计插件并生成数据库表

    从零开始学习Activiti工作流,记录下学习过程. 关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明.activiti开发中 ...

随机推荐

  1. 搭建分布式 Redis Cluster 集群与 Redis 入门

    目录 Redis 集群搭建 Redis 是啥 集群(Cluster) Redis Cluster 说明 Redis Cluster 节点 Redis Cluster 集群模式 不能保证一致性 创建和使 ...

  2. WebFlux快速上手

    一.新建项目 示例使用IDEA快速创建基于SpringBoot的工程. springboot 2.3.1 java 8 WebFlux 必须选用Reactive的库 POM 依赖 <depend ...

  3. LinkageSel无限级联动下拉菜单

    http://files.cnblogs.com/files/chenghu/LinkageSel-master.zip

  4. document.all.WebBrowser为空或不是对象

    项目中也想用这个功能,发现出错,经过测试,一定要加<object id="WebBrowser" width=0 height=0 classid="CLSID:8 ...

  5. R语言学习网站(分享)

    1. https://www.r-bloggers.com/ 2. https://www.kaggle.com/datasets 3. RStudio download: https://www.r ...

  6. js-循环遍历

    for循环 (最传统的方法) let arr=[a,b,c,d] for (var i = 0; i < arr.length; i++) { console.log(arr[i]); } fo ...

  7. NB-IoT技术适合在哪些场景应用

    LPWAN,Low Power Wide Area Network,低功耗广域网.名字里就有它的两个最重要的特点:低功耗.广覆盖.目前比较主流的有:NB-IoT.LoRa.Sigfox.eMTC.NB ...

  8. 微信小程序新闻网站列表页

    在app.json中可以设置所有文件的头部导航颜色 (是window属性的子属性) 在具体页面可以单独设置该页面的导航颜色 (直接写该属性,不需要写window属性) 查看官方文档,可以看到好多全局属 ...

  9. requests库中的get()和post()方法

    (一)get()方法 查看源码,如下: 1 def get(self, url, params, **kwargs): 2 r"""Sends a GET request ...

  10. .netcore3.1使用log4net/nlog记录日志

    .netcore3.1使用log4net/nlog记录日志 .netcore3.1与2.x之间很是有不少差异的.本来想通过ctrl+c,ctrl+v将在2.2中实现的简单日志记录搬到.netcore3 ...