1. sys.properties中的内容
  2. jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
  3. DB.url=jdbc\:oracle\:thin\:@****\:1521\:****
  4. DB.username=****
  5. DB.password=****
  6.  
  7. jdbc.driverClassName2=oracle.jdbc.driver.OracleDriver
  8. DB.url2=jdbc\:oracle\:thin\:@****\:1521\:****
  9. DB.username2=****
  10. DB.password2=****
  11.  
  12. Spring配置文件中添加的内容
  13.  
  14. <bean id="propertyConfigurer"
  15. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  16. <property name="locations">
  17. <list>
  18. <!--数据库配置文件-->
  19. <value>WEB-INF/sys.properties</value>
  20.  
  21. </list>
  22. </property>
  23. </bean>
  24. <!-- 配置数据源1 -->
  25. <bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource">
  26. <property name="driverClassName" value="${jdbc.driverClassName}"/>
  27. <property name="url" value="${DB.url}"/>
  28. <property name="username" value="${DB.username}"/>
  29. <property name="password" value="${DB.password}"/>
  30. <!--initialSize: 初始化连接-->
  31. <property name="initialSize" value="5"/>
  32. <!--maxIdle: 最大空闲连接-->
  33. <property name="maxIdle" value="3"/>
  34. <!--minIdle: 最小空闲连接-->
  35. <property name="minIdle" value="2"/>
  36. <!--maxActive: 最大连接数量-->
  37. <property name="maxActive" value="10"/>
  38. <!--removeAbandoned: 是否自动回收超时连接-->
  39. <property name="removeAbandoned" value="true"/>
  40. <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
  41. <property name="removeAbandonedTimeout" value="180"/>
  42. <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->
  43. <property name="maxWait" value="3000"/>
  44. <property name="poolPreparedStatements" value="false"/>
  45. <property name="defaultAutoCommit" value="true"/>
  46. <property name="validationQuery" value="select * from dual"/>
  47. </bean>
  48. <!-- 配置数据源2 -->
  49. <bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
  50. <property name="driverClassName" value="${jdbc.driverClassName2}"/>
  51. <property name="url" value="${DB.url2}"/>
  52. <property name="username" value="${DB.username2}"/>
  53. <property name="password" value="${DB.password2}"/>
  54. <!--initialSize: 初始化连接-->
  55. <property name="initialSize" value="5"/>
  56. <!--maxIdle: 最大空闲连接-->
  57. <property name="maxIdle" value="3"/>
  58. <!--minIdle: 最小空闲连接-->
  59. <property name="minIdle" value="2"/>
  60. <!--maxActive: 最大连接数量-->
  61. <property name="maxActive" value="10"/>
  62. <!--removeAbandoned: 是否自动回收超时连接-->
  63. <property name="removeAbandoned" value="true"/>
  64. <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
  65. <property name="removeAbandonedTimeout" value="180"/>
  66. <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->
  67. <property name="maxWait" value="3000"/>
  68. <property name="poolPreparedStatements" value="false"/>
  69. <property name="defaultAutoCommit" value="true"/>
  70. <property name="validationQuery" value="select * from dual"/>
  71. </bean>
  72.  
  73. <!-- 事务1 -->
  74. <bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  75. <property name="dataSource" ref="dataSource1" />
  76. </bean>
  77. <!-- 事务2 -->
  78. <bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  79. <property name="dataSource" ref="dataSource2" />
  80. </bean>
  81.  
  82. <!-- 事务拦截1 -->
  83. <bean id="transactionInterceptor1" class="org.springframework.transaction.interceptor.TransactionInterceptor">
  84. <property name="transactionManager" ref="transactionManager1" />
  85. <property name="transactionAttributes">
  86. <props>
  87. <prop key="insert*">PROPAGATION_REQUIRED</prop>
  88. <prop key="delete*">PROPAGATION_REQUIRED</prop>
  89. <prop key="update*">PROPAGATION_REQUIRED</prop>
  90. <prop key="do*">PROPAGATION_REQUIRED</prop>
  91. </props>
  92. </property>
  93. </bean>
  94. <!-- 事务拦截2 -->
  95. <bean id="transactionInterceptor2" class="org.springframework.transaction.interceptor.TransactionInterceptor">
  96. <property name="transactionManager" ref="transactionManager2" />
  97. <property name="transactionAttributes">
  98. <props>
  99. <prop key="insert*">PROPAGATION_REQUIRED</prop>
  100. <prop key="delete*">PROPAGATION_REQUIRED</prop>
  101. <prop key="update*">PROPAGATION_REQUIRED</prop>
  102. <prop key="do*">PROPAGATION_REQUIRED</prop>
  103. </props>
  104. </property>
  105. </bean>
  106.  
  107. <!-- 管理你连接的地方-->
  108. <bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  109. <property name="beanNames">
  110. <value>*Service</value>
  111. </property>
  112. <property name="interceptorNames">
  113. <list>
  114. <value>transactionInterceptor1</value>
  115. <value>transactionInterceptor2</value>
  116. </list>
  117. </property>
  118. </bean>
  119.  
  120. <!-- ibatis的工厂数据源配置1 -->
  121. <bean id="sqlMapClient1" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  122. <property name="configLocation" value="WEB-INF/config/sql-map-config.xml" /><!--这里是ibatissqlMap文件集合 -->
  123. <property name="dataSource" ref="dataSource1" />
  124. </bean>
  125.  
  126. <!-- ibatis的工厂数据源配置2 -->
  127. <bean id="sqlMapClient2" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  128. <property name="configLocation" value="WEB-INF/config/sql-map-config.xml" /><!--这里是ibatissqlMap文件集合 -->
  129. <property name="dataSource" ref="dataSource2" />
  130. </bean>
  131.  
  132. <!-- ibatis抽象的Dao1 -->
  133. <bean id="baseIbatisDAO1" abstract="true">
  134. <property name="sqlMapClient">
  135. <ref local="sqlMapClient1" />
  136. </property>
  137. </bean>
  138.  
  139. <!-- ibatis抽象的Dao2 -->
  140. <bean id="baseIbatisDAO2" abstract="true">
  141. <property name="sqlMapClient">
  142. <ref local="sqlMapClient2" />
  143. </property>
  144. </bean>
  145.  
  146. <!--将数据源注入到dao层-->
  147. <bean id="deptDAO" class="com.cqjk.datasv.dept.DeptDAO" parent="baseIbatisDAO1">
  148. <property name="sqlmapNamespace">
  149. <value>dept</value>
  150.  
  151. </property>
  152. </bean>
  153. <bean id="userDAO" class="com.cqjk.datasv.user.UserDAO" parent="baseIbatisDAO1">
  154. <property name="sqlmapNamespace">
  155. <value>user</value>
  156. </property>
  157. </bean>
  158. <bean id="eventsDAO" class="com.cqjk.datasv.events.EventsDAO"
  159. parent="baseIbatisDAO2">
  160. <property name="sqlmapNamespace">
  161. <value>events</value>
  162. </property>
  163. </bean>
  164. <bean id="ddwcDAO" class="com.cqjk.datasv.ddwc.DdwcDAO" parent="baseIbatisDAO2">
  165. <property name="sqlmapNamespace">
  166. <value>ddwc</value>
  167. </property>
  168. </bean>
  169. <bean id="ddwcRyDAO" class="com.cqjk.datasv.ddwcry.DdwcRyDAO"
  170. parent="baseIbatisDAO2">
  171. <property name="sqlmapNamespace">
  172. <value>ddwcry</value>
  173. </property>
  174. </bean>

spring多个数据源配置的更多相关文章

  1. spring mysql多数据源配置

    spring mysql多数据源配置 @Configuration public class QuartzConfig { @Autowired private AutowireJobFactory ...

  2. Java spring mvc多数据源配置

    1.首先配置两个数据库<bean id="dataSourceA" class="org.apache.commons.dbcp.BasicDataSource&q ...

  3. Spring Boot多数据源配置(二)MongoDB

    在Spring Boot多数据源配置(一)durid.mysql.jpa 整合中已经讲过了Spring Boot如何配置mysql多数据源.本篇文章讲一下Spring Boot如何配置mongoDB多 ...

  4. Spring实现多数据源配置

    一.前言 对于小型项目,服务器与数据库是可以在同一台机子上的,但随着业务的庞大与负责,数据库和服务器就会分离开来.同时随着数据量的增大,数据库也要分开部署到多台机子上. 二.Spring配置文件修改 ...

  5. JAVA spring hibernate 多数据源配置记录

    数据源配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http:// ...

  6. 三、Spring Boot 多数据源配置

    下面一个Java类是已经写好的根据配置文件动态创建多dataSource的代码,其原理也很简单,就是读取配置文件,根据配置文件中配置的数据源数量,动态创建dataSource并注册到Spring中. ...

  7. Spring Boot Druid数据源配置

    package com.hgvip.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.su ...

  8. spring boot多数据源配置(mysql,redis,mongodb)实战

    使用Spring Boot Starter提升效率 虽然不同的starter实现起来各有差异,但是他们基本上都会使用到两个相同的内容:ConfigurationProperties和AutoConfi ...

  9. 21. Spring Boot Druid 数据源配置解析

    1.数据源配置属性类源码 package org.springframework.boot.autoconfigure.jdbc; @ConfigurationProperties( prefix = ...

随机推荐

  1. java 导出excel(简单案例)

    public class Student { private int id; private String name; private int age; private Date birth; pub ...

  2. hdu_4283_You Are the One(区间DP)

    题目链接:hdu_4283_You Are the One 题意: 有n个人,每个人有个屌丝值,如果果他是第K个上场,不开心指数就为(K-1)*D,然后有个小黑屋,可以调整他们的出场顺序,现在让你调整 ...

  3. queue STL

    //queue STL //queue is just a container adaptor, which is a class that use other container. //just l ...

  4. 【Loadrunner】初学Loadrunner——IP欺骗

    因为在默认情况下,同一个用户用同一个IP访问运行是不符合实际情况的,而且很多网站会自动屏蔽同个IP多次重复访问.那么就想到了Loadrunner的虚拟IP技术,也就是常说的IP欺骗.在用Loadrun ...

  5. SharePoint 2013 配置InfoPath 列表表单

    转载来源:http://www.cnblogs.com/jianyus/p/3470113.html SharePoint列表,都是通过表单展示,有时候不太符合要求,这时候,我们可以通过定制表单,来是 ...

  6. Core Animation之多种动画效果

    前面介绍了Core Animation基础知识,还有CALayer的简单使用,最终还是有要动画的滴,这里列出几个动画效果,参考下能加深对Core Animation的认识和理解 1.把图片移到右下角变 ...

  7. HyperSnap(屏幕抓图工具) 8.11.03 官方简体中文特别版

    软件名称:屏幕抓图工具HyperSnap 软件分类:图像捕捉运行环境:WinXP/Win2003/Vista/Win7/Win8/WinALL软件语言:简体中文授权方式:免费软件软件大小:12462K ...

  8. linux命令英文缩写的含义(方便记忆)

    命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包 ...

  9. NYOJ-1036 非洲小孩(贪心)

    非洲小孩 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 家住非洲的小孩,都很黑.为什么呢?第一,他们地处热带,太阳辐射严重.第二,他们不经常洗澡.(常年缺水,怎么洗 ...

  10. android 实践项目

    电子词典  http://files.cnblogs.com/blogLYF/lyf_danci.apk