当前位置: 代码迷 >> J2EE >> Spring3+Hibernate3(Jpa)怎么 配置同一种数据库 多个数据源
  详细解决方案

Spring3+Hibernate3(Jpa)怎么 配置同一种数据库 多个数据源

热度:1037   发布时间:2016-04-22 01:46:25.0
Spring3+Hibernate3(Jpa)如何 配置同一种数据库 多个数据源
application.properties


XML code
<?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:jee="http://www.springframework.org/schema/jee"     xmlns:context="http://www.springframework.org/schema/context"    xmlns:tx="http://www.springframework.org/schema/tx"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd    http://www.springframework.org/schema/tx     http://www.springframework.org/schema/tx/spring-tx-2.5.xsd    http://www.springframework.org/schema/aop     http://www.springframework.org/schema/aop/spring-aop-2.5.xsd     http://www.springframework.org/schema/jee     http://www.springframework.org/schema/jee/spring-jee-3.0.xsd     http://www.springframework.org/schema/context     http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <description>Spring公共配置 </description>    <!-- 定义受环境影响易变的变量 -->    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />        <property name="ignoreResourceNotFound" value="true" />        <property name="locations">            <list>                <!-- 标准配置 -->                <value>classpath*:conf/application.properties</value>            </list>        </property>    </bean>    <!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->    <context:component-scan base-package="ssh" />    <!-- 数据源配置,使用应用内的DBCP数据库连接池 -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">        <!-- Connection Info -->        <property name="driverClassName" value="${jdbc.driver}" />        <property name="url" value="${jdbc.url}" />        <property name="username" value="${jdbc.username}" />        <property name="password" value="${jdbc.password}" />        <!-- Connection Pooling Info -->        <property name="initialSize" value="${dbcp.initialSize}" />        <property name="maxActive" value="${dbcp.maxActive}" />        <property name="maxIdle" value="${dbcp.maxIdle}" />        <property name="defaultAutoCommit" value="false" />    </bean>     app-context.xml    <!-- Hibernate配置 -->    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <property name="namingStrategy">            <bean class="org.hibernate.cfg.ImprovedNamingStrategy" />        </property>        <property name="hibernateProperties">            <props>                <prop key="hibernate.dialect">${hibernate.dialect}</prop>                  <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>                <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>                <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop>            </props>        </property>        <property name="packagesToScan" value="ssh" />    </bean>    <!-- 事务管理器配置,单数据源事务 -->    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">        <property name="sessionFactory" ref="sessionFactory" />    </bean>    <!-- 使用annotation定义事务 -->    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />        <bean id="springContextHolder" class="ssh.core.utils.SpringContextHolder" />       </beans>
  相关解决方案