Activiti工作流学习之流程图应用详解
1.目的
了解Activiti工作流是怎样应用流程图的。
2.环境准备
2.1.相关软件及版本
jdk版本:Jdk1.7及以上
IDE:eclipse
数据库:mysql及navicat for mysql
下载demo:kft-activiti-demo-no-maven
(网址https://github.com/henryyan/kft-activiti-demo/tree/no-maven)
2.2.eclipse中安装Activiti插件
eclipse打开help->install new software,单击add:
Name: Activiti BPMN2.0 designer
Location:http://activiti.org/designer/update/
进行安装即可。(如下图,我的已经安装过了)
2.3.引入jar包
新建工程Act_test,将kft-activiti-demo-no-maven\WebContent\WEB-INF\lib(activiti相关包)导入工程lib目录下
2.4.activiti数据库默认的23张表
这里我们使用配置文件来创建activiti的表
(1)在类路径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"
xsi:schemaLocation="http://www.springframework.org/schema/bea
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">
<!-- 数据库连接配置 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test1?
createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8"/>
<property name="jdbcUsername" value="root"/>
<property name="jdbcPassword" value="root"/>
<property name="databaseSchemaUpdate" value="true"/>
</bean>
</beans>
说明:
a. #useUnicode 是否使用unicode输出,true/false缺省为false
b. #characterEncoding如果useUnicode,该参数制定encoding类型,建议使用utf8缺省为无
c. #createDatabaseIfNotExist当JDBC连接指定数据库,如果此数据库不存在,此参数值为true时,则自动创建此数据库
(2)通过测试代码来加载配置文件中内容:(自动建表)
//使用配置文件来创建数据库中的表
@Test
public void testDBByProperties() throws Exception{
//通过让工作流引擎的全部配置对象来执行配置文件中的内容来创建流程引擎对象
ProcessEngine processEngine = ProcessEngineConfiguration.
createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
System.out.println(processEngine);
}
执行后,打开navicat for mysql,可看到test1及23张表创建成功
3.知识了解
3.1.关键对象
1) Deployment:流程部署对象,部署一个流程时创建。
2) ProcessDef