整合框架(1)整合Spring
Java项目整合Spring
资源部署
- 部署模式:
- default
- single-resource
- resource-parent-folder
使用服务组件
流程文件使用bean
有几个点注意一下就可以
1.事务配置
数据源和事务管理器
2. 在bean 里面然后使用activiti的主键
直接在这个bean 里面定义个属性,然后spirng依赖注入即可
3.在流程文件里面如何使用bean
3.1.首先定义好一个bean
3.2 流程引擎bean按图进行注入
3.3 在test.bpmn中就可以直接JUEL表达式进行使用mySevice了
测试方法:
package com.xiangshuai.act.c32;
import java.util.HashMap;
import java.util.Map;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @author lqx
* 文件在 E:\学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤30-整合框架(1)整合Spring
或 我的网盘\我的笔记\学习文档子目录压缩\框架\工作流引擎\Activiti6.0\window\复习步骤30-整合框架(1)整合Spring
*
*/
public class BeanTest {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
new String[] { "activiti.cfg.xml" });//spring 的方法
RepositoryService rs = (RepositoryService)ctx.getBean("repositoryService");
RuntimeService runService = (RuntimeService)ctx.getBean("runtimeService");
Deployment dep = rs.createDeployment().addClasspathResource("test-bean.bpmn").deploy();
ProcessDefinition pd = rs.createProcessDefinitionQuery().deploymentId(dep.getId()).singleResult();
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("name", "angus");//test-bean juel要用到
ProcessInstance pi = runService.startProcessInstanceById(pd.getId(), vars);
/**
* 输出结果, 在test-bean.bpmn 执行到 servicetask1 时执行其对应的MyService 的print方法
* 输出 MyService的实现类处理业务方法:angus
* */
}
}