1.介绍
1.1 Spring Boot
Spring Boot基于Spring和“习惯由于配置”原则,实现快速搭建项目的准生产框架。建议现在的Java从业者快速迁移到以Spring Boot为基础开发,这将大大降低开发的难度和极大的提高开发效率。
1.2 Activiti
在做企业级应用开发的时候,为了避免流程和业务的耦合,我们经常会引入工作流来解决业务中所遇到的审批相关的操作。
Activiti是一个轻量级的工作流和业务流程管理平台,它的核心是一个超快的BPMN2引擎。
1.3 spring-boot-starters
Spring Boot基于“习惯优于配置”的原则,为大量第三方的库提供自动配置的功能。由Spring专家Josh Long主导开发的spring-boot-starters为我们在Spring Boot下使用Activiti做了自动配置。
其中主要自动配置包括:
* 自动创建Activiti ProcessEngine的Bean;
* 所有的Activiti Service都自动注册为Spring的Bean;
* 创建一个Spring Job Executor;
* 自动扫描并部署位于src/main/resources/processes目录下的流程处理文件。
2.实战
2.1 流程设计
Activi为我们提供了一个基于eclipse的流程设计器,安装地址为:http://activiti.org/designer/update/
新建Activi项目或流程
我们当前模拟一个简单的工作流程,某人想加入某个公司,然后有权限审批的人审批,审批同意后将此人加入组织并输出“加入组织成功”,不同意输出“加入组织失败”。
设计的流程图如下:
不够完美,可是自己设计下。
流程解释:
流程最左边是开始,最右边结束,左二小人图标为用户任务(User Task)需要人参与操作,我们选择有权限的操作的人来源于Spring的bean方法activiti:candidateUsers=”${joinService.findUsers(execution)}”,左三齿轮图标为服务任务(Service Task),是自动执行的任务,自动调用Spring的bean方法。
2.2 项目搭建
application.properties配置
网友评论