1、Idea新建一个项目MyActivit的maven项目
2、安装插件
在 idea 里面,activiti 的插件叫 actiBPM,在插件库里面把它安装好,重启 idea 就行了。
3、 maven 项目中,并更改 pom.xml。pom 中依赖如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>MyActiviti</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--JUnit测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><!--- Activiti依赖导入 --><dependency><groupId>org.activiti</groupId><artifactId>activiti-spring</artifactId><version>5.18.0</version></dependency><dependency><groupId>org.activiti</groupId><artifactId>activiti-engine</artifactId><version>5.18.0</version><exclusions><exclusion><artifactId>slf4j-api</artifactId><groupId>org.slf4j</groupId></exclusion><exclusion><artifactId>spring-beans</artifactId><groupId>org.springframework</groupId></exclusion><exclusion><artifactId>jackson-core-asl</artifactId><groupId>org.codehaus.jackson</groupId></exclusion><exclusion><artifactId>commons-lang3</artifactId><groupId>org.apache.commons</groupId></exclusion><exclusion><artifactId>commons-lang3</artifactId><groupId>org.apache.commons</groupId></exclusion></exclusions></dependency> <!--MySQL 驱动包,如果是其他库的话需要换驱动包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.35</version></dependency></dependencies></project>
4、创建工作流
- 使用activiti Modeler来创建工作流
activiti Modeler是一个可视化的工作流编辑器,可以方便地创建一个工作流。可以在官网下载之后解压,然后启动一个tomcat服务器来访问该编辑器。
- 使用BPMN 2.0文件来创建工作流
BPMN 2.0是一种XML格式的文件,可以使用文本编辑器直接编写。不同的元素使用不同的标签来表示。
例如:
<process>
标签表示一个具体的工作流程,
<startEvent>
标签表示一个开始节点,
<serviceTask>
标签表示一个服务任务等等。
5、编写Java代码
接下来我们需要编写Java代码来调用工作流。通常,我们需要定义一个启动工作流的Service,在其中使用activiti来启动工作流。具体的代码可以参考以下示例:
@Service
public class WorkflowService {@Autowiredprivate RuntimeService runtimeService;public void startWorkflow() {// 定义需要传入的参数Map<String, Object> variables = new HashMap<String, Object>();variables.put("applicant", "John Doe");variables.put("email", "john.doe@example.com");// 启动工作流,并传入参数ProcessInstance processInstance =runtimeService.startProcessInstanceByKey("processKey", variables);}
}
在上述示例代码中,我们需要注入RuntimeService
对象来启动工作流。startProcessInstanceByKey
方法中使用了一个参数processKey
,它需要与工作流文件中定义的流程ID保持一致。
6、测试
编写完Java代码后,可以编写测试用例来测试工作流是否能够成功启动。可以参考以下示例代码:
@RunWith(SpringRunner.class)
@SpringBootTest
public class WorkflowServiceTest {@Autowiredprivate WorkflowService workflowService;@Testpublic void testStartWorkflow() {workflowService.startWorkflow();}
}
在上述示例代码中,我们需要注入WorkflowService
对象来启动工作流。在testStartWorkflow
方法中调用了startWorkflow
方法来启动工作流。
可以关注我,查看【工作流Activiti】的其他文章介绍。