springboot集成activiti及使用方法
时间: 2023-12-16 19:05:18 浏览: 99
Spring Boot是一种快速开发框架,同时也是一个集成了许多其他框架的框架。Activiti是一个流程引擎,可以用来管理和自动化业务流程。本文将介绍如何在Spring Boot项目中集成Activiti,并使用Activiti来管理业务流程。
1. 添加依赖
在pom.xml文件中添加Activiti的依赖:
```xml
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>6.0.0</version>
</dependency>
```
2. 配置数据源
在application.properties文件中配置数据源:
```
spring.datasource.url=jdbc:mysql://localhost:3306/activiti?useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
```
3. 配置Activiti
在application.properties文件中配置Activiti:
```
# Activiti配置
spring.activiti.database-schema-update=true
spring.activiti.check-process-definitions=true
spring.activiti.history-level=full
```
4. 编写业务流程
在src/main/resources目录下创建一个名为processes的目录,在该目录下创建一个名为test.bpmn20.xml的文件,编写业务流程。
5. 测试
编写一个简单的测试类:
```java
@RunWith(SpringRunner.class)
@SpringBootTest
public class ActivitiTest {
@Autowired
private RuntimeService runtimeService;
@Test
public void test() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test");
assertNotNull(processInstance);
}
}
```
运行该测试类,如果没有报错,则Activiti已经集成成功。
6. 使用Activiti
使用Activiti的步骤如下:
1. 部署业务流程
```java
@Autowired
private RepositoryService repositoryService;
@Test
public void deployProcess() {
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("processes/test.bpmn20.xml")
.deploy();
assertNotNull(deployment);
}
```
2. 启动业务流程
```java
@Autowired
private RuntimeService runtimeService;
@Test
public void startProcess() {
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("test");
assertNotNull(processInstance);
}
```
3. 查询任务
```java
@Autowired
private TaskService taskService;
@Test
public void queryTask() {
List<Task> tasks = taskService.createTaskQuery().taskAssignee("张三").list();
assertNotNull(tasks);
}
```
4. 完成任务
```java
@Test
public void completeTask() {
Task task = taskService.createTaskQuery().taskAssignee("张三").singleResult();
taskService.complete(task.getId());
}
```
以上就是Spring Boot集成Activiti的基本步骤和使用方法。
阅读全文