在 Spring Boot 中集成 Activiti 主要分为以下步骤:
- 引入依赖
在 Maven 或 Gradle 项目中引入 Activiti 的依赖,例如:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>${activiti.version}</version>
</dependency>
- 配置数据源
在 application.properties
文件中配置数据源,例如:
spring.datasource.url=jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
- 配置 Activiti
如果需要自定义 Activiti 的配置,可以在 application.properties
中添加相关配置项。例如:
# 设置数据库类型,默认为 h2,在 MySQL 下需设置为 mysql。
spring.activiti.database-schema-update=true
# 自定义流程图字体。
spring.activiti.font-name=宋体
# 历史记录级别,可选值:none, activity, audit, full。
spring.activiti.history-level=full
# 启用 / 禁用 job executor,默认启用。
spring.activiti.job-execution.enabled=true
- 创建流程图和 BPMN 文件
使用任意绘图工具(如 Visual Paradigm、draw.io 等)创建流程图,并将其保存为 BPMN 格式。
- 部署流程定义文件
将 BPMN 文件部署到 Activiti 中,可以使用以下方式之一:
- 在
resources/processes
目录下创建子目录,并将 BPMN 文件复制到该子目录中。 - 使用 Java 代码部署,例如:
@Service
public class ProcessService {
@Autowired
private RepositoryService repositoryService;
public void deploy() {
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("processes/demo.bpmn")
.name("demo-process")
.deploy();
System.out.println(deployment.getId());
}
}
- 编写业务逻辑代码
在 Service 层编写业务逻辑代码,例如:
@Service
public class DemoService {
@Autowired
private RuntimeService runtimeService;
public void startProcess() {
Map<String, Object> variables = new HashMap<>();
variables.put("applicant", "John Doe");
variables.put("email", "john.doe@example.com");
variables.put("phoneNumber", "123456789");
runtimeService.startProcessInstanceByKey("demo-process", variables);
}
}
- 启动应用程序
通过 @SpringBootApplication
注解启动 Spring Boot 应用程序。在浏览器中访问 http://localhost:8080/actuator 查看 Actuator 端点信息。
以上就是在 Spring Boot 中集成 Activiti 的基本步骤。需要注意的是,在实际开发过程中可能需要更多的配置和定制化操作。