`

Spring+Hibernate框架下Mysql读写分离、主从数据库配置(下)

阅读更多

转载:http://lujia35.iteye.com/blog/969466

下面配置spring applicationContext.xml文件

Xml代码  收藏代码
  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.     xsi:schemaLocation="  
  6.         http://www.springframework.org/schema/beans   
  7.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.         http://www.springframework.org/schema/tx   
  9.         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
  10.         http://www.springframework.org/schema/aop   
  11.         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
  12.         http://www.springframework.org/schema/context  
  13.         http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  14.   
  15.     <context:annotation-config />  
  16.     <!-- 自动加载SERVICE DAO ACTION -->  
  17.     <context:component-scan base-package="cn.com.company.dao.*" />  
  18.     <context:component-scan base-package="cn.com.company.service.*" />  
  19.     <context:component-scan base-package="cn.com.company.action" />  
  20.   
  21.     <!-- 加载properties配置文件 -->  
  22.     <bean id="propertyConfigurer"  
  23.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  24.         <property name="locations">  
  25.             <list>  
  26.                 <value>classpath:jdbc.properties</value>  
  27.             </list>  
  28.         </property>  
  29.     </bean>  
  30.   
  31.     <bean id="parentDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">  
  32.         //***c3p0配置  
  33.     </bean>  
  34.      <!-- 主数据源-->  
  35.     <bean id="masterDataSource" parent="parentDataSource">  
  36.         <property name="driverClass" value="${master.jdbc.driverClassName}" />  
  37.         <property name="jdbcUrl" value="${master.jdbc.url}" />  
  38.         <property name="user" value="${master.jdbc.username}" />  
  39.         <property name="password" value="${master.jdbc.password}" />  
  40.     </bean>  
  41.     <!-- 从数据源-->  
  42.     <bean id="slaveDataSource" parent="parentDataSource">  
  43.         <property name="driverClass" value="${slave.jdbc.driverClassName}" />  
  44.         <property name="jdbcUrl" value="${slave.jdbc.url}" />  
  45.         <property name="user" value="${slave.jdbc.username}" />  
  46.         <property name="password" value="${slave.jdbc.password}" />  
  47.     </bean>  
  48.   
  49.     <bean id="dataSource" class="com.company.datasource.DynamicDataSource">  
  50.         <property name="targetDataSources">  
  51.             <map key-type="java.lang.String">  
  52.                 <entry key="slave" value-ref="slaveDataSource" />  
  53.             </map>  
  54.         </property>  
  55.         <property name="defaultTargetDataSource" ref="masterDataSource" />  
  56.     </bean>  
  57.   
  58.     <!-- 配置sessionFactory -->  
  59.     <bean id="sessionFactory"  
  60.         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  
  61.         <property name="dataSource" ref="dataSource"></property>  
  62.         <property name="packagesToScan" value="cn.com.company.entity" />  
  63.         <property name="hibernateProperties">  
  64.             <props>  
  65.   
  66.                 <prop>//***hibernate一些参数这里不写了</prop>  
  67.             </props>  
  68.         </property>  
  69.     </bean>  
  70.       
  71.     <!-- 切换数据源 -->  
  72.     <bean id="dataSourceAdvice" class="com.company.aop.DataSourceAdvice" />  
  73.     <aop:config>  
  74.         <aop:advisor  
  75.             pointcut="execution(* cn.com.company.service..*Service.*(..))"  
  76.             advice-ref="dataSourceAdvice" />  
  77.     </aop:config>  
  78.       
  79.     <!-- 配置事务管理器 -->  
  80.     <bean id="transactionManager"  
  81.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  82.         <property name="sessionFactory">  
  83.             <ref bean="sessionFactory" />  
  84.         </property>  
  85.     </bean>  
  86.     <!--配置事务的传播特性 -->  
  87.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  88.         <tx:attributes>  
  89.             <!-- 对增、删、改方法进行事务支持 -->  
  90.             <tx:method name="add*" propagation="REQUIRED" />  
  91.             <tx:method<
    分享到:
    评论

相关推荐

Global site tag (gtag.js) - Google Analytics