true: activiti会对数据库中所有表进行更新操作。如果表不存在,则自动创建。(开发时常用)
create_drop: 在activiti启动时创建表,在关闭时删除表(必须手动关闭引擎,才能删除表)。(单元测试常用)
drop-create: 在activiti启动时删除原来的旧表,然后在创建新表(不需要手动关闭引擎)。
[](()1.2 测试Activiti与Spring整合
[](()1)、测试代码
/**
测试activiti与spring整合是否成功
**/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = “classpath:activiti-spring.xml”)
public class ActivitiTest {
@Autowired
private RepositoryService repositoryService;
@Test
public void test01(){
System.out.println(“部署对象:”+repositoryService);
}
}
[](()2)、执行流程分析
下面我们一起来分析Activiti与Spring整合加载的过程。
1、加载activiti-spring.xml配置文件
2、加载SpringProcessEngineConfiguration对象,这个对象它需要依赖注入dataSource对象和transactionManager对象。
3、加载ProcessEngineFactoryBean工厂来创建ProcessEngine对象,而ProcessEngineFactoryBean工厂又需要依赖注入processEngineConfiguration对象。
4、processEngine对象来负责创建我们的Service对象,从而简化Activiti的开发过程。
[](()二、Activiti7与SpringBoot整合开发
====================================================================================
Activiti7发布正式版之后,它与SpringBoot2.x已经完全支持整合开发。
[](()2.1 SpringBoot整合Activiti7的配置
为了能够实现SpringBoot与Activiti7整合开发,首先我们要引入相关的依赖支持。
在工程的pom.xml文件中引入相关的依赖,其中activiti的依赖是:activiti-spring-boot-starter。
具体依赖如下所示:
org.springframework.boot
spring-boot-starter-parent
2.1.0.RELEASE
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-test
org.activiti
activiti-spring-boot-starter
7.0.0.Beta2
mysql
mysql-connector-java
5.1.29
org.project