SSM整合activiti框架

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SSM整合activiti框架

首先在maven项目的pom.xml文件中引入activiti工作流的jar包:


<dependency>  
    <groupId>org.activiti</groupId>  
    <artifactId>activiti-engine</artifactId>  
    <version>5.22.0</version>  
</dependency>  
          
<dependency>  
    <groupId>org.activiti</groupId>  
    <artifactId>activiti-spring</artifactId>  
    <version>5.22.0</version>  
</dependency>

我们接着创建一个spring-activiti.xml的文件,用来注入spring的6个service服务,方便我们日后在controller层或者service层中注入这些service,配置如下:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
       http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

    <!-- 配置流程引擎配置信息对象 -->
    <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"
        p:dataSource-ref="dataSource"
        p:transactionManager-ref="transactionManager"
        p:databaseSchemaUpdate="true"
        p:jobExecutorActivate="false"
        p:databaseType="mysql"
          p:activityFontName="宋体"
          p:labelFontName="黑体"
          p:xmlEncoding="utf-8"/>
          
    <!-- 配置流程引擎 -->    
      <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"
         p:processEngineConfiguration-ref="processEngineConfiguration"/>
        
    <!-- 配置六个服务Bean -->
    <bean id="repositoryService" factory-bean="processEngine" 
        factory-method="getRepositoryService" />
    <bean id="runtimeService" factory-bean="processEngine" 
            factory-method="getRuntimeService" />
    <bean id="taskService" factory-bean="processEngine" 
            factory-method="getTaskService" />
    <bean id="historyService" factory-bean="processEngine" 
            factory-method="getHistoryService" />
    <bean id="formService" factory-bean="processEngine" 
            factory-method="getFormService" />
    <bean id="identityService" factory-bean="processEngine" 
            factory-method="getIdentityService" /> 
    
</beans>

上面的activiti文件配置好之后我们在web.xml文件中引用我们的activiti整合文件:


<!-- Spring beans 配置文件所在目录 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext-*.xml</param-value>
    </context-param>

当activiti框架的jar包都下载完毕之后,我们就可以创建activiti项目所需要的数据表了,我们先来写一个测试类,用来生成数据表,本人用的是mysql数据库,所以jdbc驱动JdbcDriver是mysql数据库所需要的驱动。


/**
     * @Author ouyangsihai
     * @Description //生成数据库表结构
     * @Date 20:57 2018/12/5
     * @Param []
     * @return void
     **/
    @Test
    public void test_createDatabase(){
        // 创建流程引擎配置信息对象
        ProcessEngineConfiguration pec = ProcessEngineConfiguration
                .createStandaloneProcessEngineConfiguration();
        // 设置数据库的类型
        pec.setDatabaseType("mysql");
        // 设置创建数据库的方式
        // ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE(true): 如果没有数据库表就会创建数据库表,有的话就修改表结构.
        // ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE(false): 不会创建数据库表
        // ProcessEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP(create-drop): 先创建、再删除.
        pec.setDatabaseSchemaUpdate("true");
        // 设置数据库驱动
        pec.setJdbcDriver("com.mysql.jdbc.Driver");
        // 设置jdbcURL
        pec.setJdbcUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8");
        // 设置用户名
        pec.setJdbcUsername("root");
        // 设置密码
        pec.setJdbcPassword("root");
        // 构建流程引擎对象
        ProcessEngine pe = pec.buildProcessEngine(); // 调用访方法才会创建数据表
        // 调用close方法时,才会删除
        pe.close();
    }

原文地址:https://sihai.blog.csdn.net/article/details/84843526

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SSM整合activiti框架


  转载请注明: 好好学java SSM整合activiti框架

 上一篇
windows ping 不通虚拟机 windows ping 不通虚拟机
原文地址:https://sihai.blog.csdn.net/article/details/84730100
2021-04-04
下一篇 
吐血,经过4个小时,终于发现这个可以解决虚拟机ubuntu不能联网的问题 吐血,经过4个小时,终于发现这个可以解决虚拟机ubuntu不能联网的问题
刚安装玩Ubuntu,打开后上网没有网络连接 ,点击右上角的数据连接,显示已经启动联网,但是用火狐还是无法上网;  解决方法如下:  先查看虚拟机的网络适配器:点击虚拟机左上角的编辑,里面有个网络适配器    然后再进入编辑虚拟机设置,看过
2021-04-04