最近因为项目要求整合了spring+mybatis架构进行项目开发,现将相关整合配置文件整理如下:

基本架构:spring+springmvc+mybatis
分布式框架:dubbo+zookeeper
数据库:mysql
数据库连接池:Druid
1 数据库连接配置信息jdbc.properties
#mysql version database druid # setting validationQuery=SELECT 1 jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/ivan?useUnicode=true&characterEncoding=utf-8&useSSL=true jdbc.username=root jdbc.password=root
2 spring配置文件spring-register.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!--引入配置文件-->
<!-- <context:property-placeholder location="classpath:config/jdbc.properties"/>-->
<bean class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/zookeeper.properties</value>
<value>classpath:config/jdbc.properties</value>
<value>classpath:config/log4j.properties</value>
</list>
</property>
</bean>
<bean id="userService" class="com.ivan.dubbo.service.impl.UserServiceImpl"/>
<!--提供方应用信息,用于计算依赖关系-->
<dubbo:application name="ivan-dubbo-server"></dubbo:application>
<!--使用zookeeper广播注册中心暴露服务地址-->
<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
<!-- 本机 伪集群 测试 -->
<!-- <dubbo:registry protocol="zookeeper" address="zookeeper://127.0.0.1:4170?backup=127.0.0.1:4180,127.0.0.1:4190" />-->
<!-- <dubbo:registry protocol="zookeeper" address="127.0.0.1:4170,127.0.0.1:4180,127.0.0.1:4190"/>-->
<!-- <dubbo:registry id="ivan-dubbo-server1" protocol="zookeeper" address="127.0.0.1:4170" />
<dubbo:registry id="ivan-dubbo-server2" protocol="zookeeper" address="127.0.0.1:4180" />
<dubbo:registry id="ivan-dubbo-server3" protocol="zookeeper" address="127.0.0.1:4190" />
-->
<!---使用dubbo协议在20880端口暴露服务-->
<dubbo:protocol name="dubbo" port="20880"/>
<!--
官方注释:扫描注解包路径,多个包用逗号分隔,不填pacakge表示扫描当前ApplicationContext中所有的类。
测试发现:此处package不填写包名会无法注册Service,扫描全包需填写包首即可或者填写至类的上一级目录。
-->
<dubbo:annotation package="com"/>
<dubbo:service interface="com.ivan.service.provider.UserService" ref="userService" timeout="1200000"></dubbo:service>
</beans>
3 spring-mybatis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
<!--配置数据源-->
<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!--初始化连接池大小-->
<property name="initialSize" value="5"/>
<property name="maxActive" value="20"/>
<!--连接池最小空闲-->
<property name="minIdle" value="0"/>
<!--获取连接池最大等待时间-->
<property name="maxWait" value="60000"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxPoolPreparedStatementPerConnectionSize" value="33"/>
<!--检测有效sql-->
<property name="validationQuery" value="${validationQuery}"/>
<property name="testOnBorrow" value="false"/>
<property name="testOnReturn" value="false"/>
<property name="testWhileIdle" value="true"/>
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000"/>
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="25200000"/>
<!-- 打开removeAbandoned功能 -->
<property name="removeAbandoned" value="true"/>
<!-- 1800秒,也就是30分钟 -->
<property name="removeAbandonedTimeout" value="1800"/>
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logAbandoned" value="true"/>
<!-- 监控数据库 -->
<property name="filters" value="mergeStat"/>
</bean>
<!--MyBatis配置文件-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath*:com/ivan/**/mapping/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.ivan.dubbo.service.dao.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<!--配置事务管理-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!--注解方式配置事务-->
<!-- <tx:annotation-driven transaction-manager="transactionManager"/>-->
<!-- 拦截器方式配置事物 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="insert*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="select*" propagation="SUPPORTS" read-only="true"/>
</tx:attributes>
</tx:advice>
<!--
<span style="font-family:FangSong_GB2312;"> </span>Spring aop事务管理
<span style="font-family:FangSong_GB2312;"> 此处配置正确无法发布提供者服务,目前没找到解决方案</span>
-->
<!-- <aop:config>
<aop:pointcut id="transactionPointcut" expression="execution(* com.ivan..service.impl.*Impl.*(..))" />
<aop:advisor advice-ref="transactionAdvice" pointcut-ref="transactionPointcut"/>
</aop:config> -->
</beans>
总结
以上所述是小编给大家介绍的spring与mybatis整合配置文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# spring
# mybatis
# 整合
# Spring整合SpringMVC + Mybatis基础框架的配置文件详解
# springboot的yml配置文件通过db2的方式整合mysql的教程
# spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代码详解
# Spring 整合多个配置文件的方法
# spring+hibernate 两种整合方式配置文件的方法
# Spring配置文件的拆分和整合过程分析
# 配置文件
# 连接池
# 小编
# 多个
# 在此
# 给大家
# 本机
# 现将
# 所述
# 给我留言
# 感谢大家
# 池中
# 全包
# 疑问请
# 有任何
# 多久
# 拦截器
# 整合了
# schemaLocation
# xsd
相关文章:
如何在阿里云完成域名注册与建站?
如何在腾讯云服务器快速搭建个人网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
广平建站公司哪家专业可靠?如何选择?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
如何选择域名并搭建高效网站?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
建站之星×万网:智能建站系统+自助建站平台一键生成
盐城做公司网站,江苏电子版退休证办理流程?
如何选择网络建站服务器?高效建站必看指南
常州自助建站工具推荐:低成本搭建与模板选择技巧
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何快速搭建响应式可视化网站?
大连网站设计制作招聘信息,大连投诉网站有哪些?
建站主机功能解析:服务器选择与快速搭建指南
南京网站制作费用,南京远驱官方网站?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
香港服务器选型指南:免备案配置与高效建站方案解析
头像制作网站在线制作软件,dw网页背景图像怎么设置?
建站之星上传入口如何快速找到?
安云自助建站系统如何快速提升SEO排名?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何快速配置高效服务器建站软件?
手机网站制作与建设方案,手机网站如何建设?
历史网站制作软件,华为如何找回被删除的网站?
PHP 500报错的快速解决方法
宝塔新建站点报错如何解决?
javascript中的try catch异常捕获机制用法分析
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
建站之星如何通过成品分离优化网站效率?
5种Android数据存储方式汇总
网站制作大概多少钱一个,做一个平台网站大概多少钱?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
建站之星后台管理:高效配置与模板优化提升用户体验
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何获取免费开源的自助建站系统源码?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
建站之星安装提示数据库无法连接如何解决?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何通过虚拟主机空间快速建站?
制作旅游网站html,怎样注册旅游网站?
如何选择适合PHP云建站的开源框架?
建站VPS选购需注意哪些关键参数?
广东企业建站网站优化与SEO营销核心策略指南
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
香港网站服务器数量如何影响SEO优化效果?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
*请认真填写需求信息,我们会在24小时内与您取得联系。