代码结构如下:
pom.xml配置如下:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<!-- activiti start -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.18.0</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>5.18.0</version>
</dependency>
<!-- activiti end -->
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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 配置整合mybatis过程 -->
<!-- 1.配置数据库相关参数properties的属性:${url} -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 2.数据库连接池 -->
<bean id="dataSource_act" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="an123456" />
</bean>
<bean id="transactionManager_act" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource_act" />
</bean>
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource_act" />
<property name="transactionManager" ref="transactionManager_act" />
<property name="databaseSchemaUpdate" value="none" /><!-- 此处通常应该为false -->
<property name="jobExecutorActivate" value="false" />
<!-- <property name="history" value="none" /> -->
<property name="databaseType" value="mysql" />
<property name="dbIdentityUsed" value="false" />
<property name="dbHistoryUsed" value="false" /><!-- 不检测历史表是否存在,应对Activiti database problem: Tables missing for component(s) history, identity -->
<!-- <property name="createDiagramOnDeploy" value="false" />发布时是否包括流程图片png-->
<property name="activityFontName" value="宋体"/><!-- 避免发布的图片和xml遇到中文时乱码 -->
<property name="labelFontName" value="宋体"/>
<property name="xmlEncoding" value="utf8"/><!-- 解析xml流程文件所使用的字符集,默认为utf8,依据数据库来 -->
</bean>
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<be