189 8069 5689

Spring和activiti进行整合过程解析

一、整合原理

成都创新互联公司网站建设公司,提供成都做网站、成都网站设计、成都外贸网站建设,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!

activiti的配置文件本身就是一个spring的配置文件,但默认情况下只讲ProcessEngineConfiguration作为一个bean来使用,调用ProcessEngines.getDefaultProcessEngine()加载的就是配置文件中的这个bean。和spring整合后就可以把bean的管理让spring来进行,在代码中获取任意的bean。

activiti提供了一个spring模块,在一个spring工程中引入这个模块就能够整合


  org.activiti
  activiti-spring
  5.22.0

并且引入这个依赖后就不需要再单独引入activiti的依赖了,这里边已经包含了

二、整合步骤

2.1 新建一个maven工程并导入相关依赖


  
  
    org.springframework
    spring-context
    5.0.2.RELEASE
  

  
    org.activiti
    activiti-spring
    5.22.0
  

  
    MySQL
    mysql-connector-java
    5.1.26
  

  
    c3p0
    c3p0
    0.9.1.2
    jar
    compile
  

  
    commons-io
    commons-io
    2.4
  

  
    junit
    junit
    4.12
  

这里导入了spring,activiti,数据库驱动等依赖。

2.2 创建spring配置文件

在resources目录下创建spring配置文件,applicationContext.xml,其中主要配置如下bean

(1)数据源(连接池)

(2)事务管理器(和spring整合后必须配置事务管理器)

(3)流程引擎配置对象,这里可以注入一些流程引擎的配置

(4)流程引擎对象

(5)activiti的服务组件,配置后在程序中可以直接从容器中获取

完整的配置文件如下



  
  
  
    
    
    
    
  
  
  
  
    
  
  
  
  
    
    
    
    
  
  
  
  
  
    
  
  
  
  
  
  
  
  
  
  
  
  

三、测试

在代码中加载spring配置文件,并直接从容器里获取服务组件,看能否直接使用服务组件

@Test
public void test4() {
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  //通过容器获取taskService组件
  TaskService taskService= (TaskService) context.getBean("taskService");
  System.out.println(taskService);
  List list = taskService.createTaskQuery().taskAssignee("tom").list();
  for (Task task : list) {
    System.out.println(task);
  }
}

如果能够成功运行,说明activiti和spring已经整合完成了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网站栏目:Spring和activiti进行整合过程解析
浏览路径:http://cdxtjz.cn/article/jedocd.html

其他资讯