mybatis+springmvc+jbpm4整合配置

2023-12-22 21:58

本文主要是介绍mybatis+springmvc+jbpm4整合配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


花了一段时间研究了下jbpm4,后来想把它整合在maven上,但是,后来发现,maven的中央仓库和私服上要么缺了jbpm4的jar包,要么springmvc的相关jar包版本跟原项目的版本匹配不上,所以干脆将jbpm4的jar包不使用maven管理,手工进行添加,成功完成整合。

 

关键配置文件如下:

applicationContext.xml配置:

[java] view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  
  4.     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:p="http://www.springframework.org/schema/p"  
  6.     xsi:schemaLocation="    
  7.             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
  8.             http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd    
  9.             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd    
  10.             http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd    
  11.             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"  
  12.     default-autowire="byName" default-lazy-init="false">  
  13.   
  14.     <context:property-placeholder location="classpath:db.properties" />  
  15.   
  16.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
  17.         destroy-method="close">  
  18.         <property name="driverClassName" value="${jdbc.driver}" />  
  19.         <property name="url" value="${jdbc.url}" />  
  20.         <property name="username" value="${jdbc.username}" />  
  21.         <property name="password" value="${jdbc.password}" />  
  22.         <property name="maxActive" value="30" />  
  23.         <property name="maxIdle" value="5" />  
  24.     </bean>  
  25.       
  26.     <bean id="transactionManager"  
  27.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  28.         <property name="dataSource" ref="dataSource" />  
  29.     </bean>  
  30.   
  31.   
  32.     <bean id="sqlSessionFactoryBuild" class="org.mybatis.spring.SqlSessionFactoryBean">  
  33.         <!--dataSource属性指定要用到的连接池 -->  
  34.         <property name="dataSource" ref="dataSource" />  
  35.         <!-- <property name="typeAliasesPackage" value="zttc.itat.user.po"/> -->  
  36.         <property name="configLocation" value="classpath:/mybatis-config.xml" />  
  37.     </bean>  
  38.   
  39.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  40.         <property name="basePackage" value="zttc.itat.user.dao" />  
  41.     </bean>  
  42.       
  43.     <bean id="sessionFactoryJBPM"  
  44.         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  45.         <property name="dataSource" ref="dataSource" />  
  46.   
  47.         <property name="configLocation">  
  48.             <value>classpath:jbpm.hibernate.cfg.xml </value>  
  49.         </property>  
  50.         <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />  
  51.         <property name="hibernateProperties">  
  52.             <props>  
  53.                 <prop key="hibernate.dialect">  
  54.                     org.hibernate.dialect.OracleDialect  
  55.                 </prop>  
  56.   
  57.                 <prop key="hibernate.query.factory_class">  
  58.                     org.hibernate.hql.ast.ASTQueryTranslatorFactory  
  59.                 </prop>  
  60.   
  61.                 <prop key="hibernate.show_sql">true </prop>  
  62.             </props>  
  63.         </property>  
  64.     </bean>  
  65.   
  66.     <bean id="transactionManagerJBPM"  
  67.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  68.         <property name="sessionFactory" ref="sessionFactoryJBPM" />  
  69.     </bean>  
  70.   
  71.     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
  72.         <property name="dataSource" ref="dataSource" />  
  73.     </bean>  
  74.   
  75.     <bean class="org.springframework.transaction.support.TransactionTemplate">  
  76.         <constructor-arg ref="transactionManagerJBPM"></constructor-arg>  
  77.     </bean>  
  78.     <!-- <tx:annotation-driven/> -->  
  79.     <!-- jbpm工作流 -->  
  80.     <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">  
  81.         <property name="jbpmCfg" value="jbpm.cfg.xml"></property>  
  82.     </bean>  
  83.     <bean id="processEngine" factory-bean="springHelper"  
  84.         factory-method="createProcessEngine">  
  85.     </bean>  
  86.   
  87.     <bean id="repositoryService" factory-bean="processEngine"  
  88.         factory-method="getRepositoryService" />  
  89.   
  90.   
  91.     <bean id="executionService" factory-bean="processEngine"  
  92.         factory-method="getExecutionService" />  
  93.   
  94.   
  95.     <bean id="taskService" factory-bean="processEngine"  
  96.         factory-method="getTaskService" />  
  97.   
  98.   
  99.     <bean id="historyService" factory-bean="processEngine"  
  100.         factory-method="getHistoryService" />  
  101.   
  102.   
  103.     <bean id="identityService" factory-bean="processEngine"  
  104.         factory-method="getIdentityService" />  
  105. </beans>   
<?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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"default-autowire="byName" default-lazy-init="false"><context:property-placeholder location="classpath:db.properties" /><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="30" /><property name="maxIdle" value="5" /></bean><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><bean id="sqlSessionFactoryBuild" class="org.mybatis.spring.SqlSessionFactoryBean"><!--dataSource属性指定要用到的连接池 --><property name="dataSource" ref="dataSource" /><!-- <property name="typeAliasesPackage" value="zttc.itat.user.po"/> --><property name="configLocation" value="classpath:/mybatis-config.xml" /></bean><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="zttc.itat.user.dao" /></bean><bean id="sessionFactoryJBPM"class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="configLocation"><value>classpath:jbpm.hibernate.cfg.xml </value></property><property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop><prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop><prop key="hibernate.show_sql">true </prop></props></property></bean><bean id="transactionManagerJBPM"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactoryJBPM" /></bean><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource" /></bean><bean class="org.springframework.transaction.support.TransactionTemplate"><constructor-arg ref="transactionManagerJBPM"></constructor-arg></bean><!-- <tx:annotation-driven/> --><!-- jbpm工作流 --><bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"><property name="jbpmCfg" value="jbpm.cfg.xml"></property></bean><bean id="processEngine" factory-bean="springHelper"factory-method="createProcessEngine"></bean><bean id="repositoryService" factory-bean="processEngine"factory-method="getRepositoryService" /><bean id="executionService" factory-bean="processEngine"factory-method="getExecutionService" /><bean id="taskService" factory-bean="processEngine"factory-method="getTaskService" /><bean id="historyService" factory-bean="processEngine"factory-method="getHistoryService" /><bean id="identityService" factory-bean="processEngine"factory-method="getIdentityService" />
</beans> 

 mybatis-config.xml配置文件如下:

 

[java] view plain copy print ?
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration  
  3.         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  4.         "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  5.   
  6. <configuration>  
  7.     <settings>  
  8.         <setting name="cacheEnabled" value="true" />  
  9.         <setting name="lazyLoadingEnabled" value="false" />  
  10.         <setting name="aggressiveLazyLoading" value="true" />  
  11.         <setting name="logImpl" value="LOG4J" />  
  12.     </settings>  
  13.   
  14.     <typeAliases>  
  15.         <package name="zttc.itat.user.po" />  
  16.     </typeAliases>  
  17.       
  18.     <plugins>  
  19.         <plugin interceptor="com.github.pagehelper.PageHelper">  
  20.             <!-- 支持通过Mapper接口参数来传递分页参数 -->  
  21.             <property name="supportMethodsArguments" value="true" />  
  22.         </plugin>  
  23.     </plugins>  
  24.   
  25.     <environments default="development">  
  26.         <environment id="development">  
  27.             <transactionManager type="JDBC">  
  28.                 <property name="" value="" />  
  29.             </transactionManager>  
  30.             <dataSource type="UNPOOLED">  
  31.                 <property name="driver" value="oracle.jdbc.driver.OracleDriver" />  
  32.                 <property name="url" value="jdbc:oracle:thin:@//localhost:1521/orcl" />  
  33.                 <property name="username" value="root" />  
  34.                 <property name="password" value="root" />  
  35.             </dataSource>  
  36.         </environment>  
  37.     </environments>  
  38.   
  39.     <databaseIdProvider type="DB_VENDOR">  
  40.         <property name="Oracle" value="oracle" />  
  41.     </databaseIdProvider>  
  42.   
  43.     <mappers>  
  44.         <mapper resource="zttc/itat/user/mapper/TUserMapper.xml" />  
  45.         <mapper resource="zttc/itat/user/mapper/Jbpm4DeploymentMapper.xml" />  
  46.         <mapper resource="zttc/itat/user/mapper/TLeaveApplyMapper.xml" />  
  47.     </mappers>  
  48. </configuration>  

这篇关于mybatis+springmvc+jbpm4整合配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525611

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。