双数据源开发,相关配置

来源:互联网 发布:php继承多个类 编辑:程序博客网 时间:2024/05/16 04:18

web.xml配置

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1">    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>/WEB-INF/spring/*-config.xml</param-value>    </context-param>    <filter>        <filter-name>encodingFilter</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>UTF-8</param-value>        </init-param>        <init-param>            <param-name>forceEncoding</param-name>            <param-value>true</param-value>        </init-param>    </filter>    <!-- SiteMesh -->    <filter>        <filter-name>sitemeshFilter</filter-name>        <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>    </filter>   <!--权限-->    <filter>        <filter-name>springSecurityFilterChain</filter-name>        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>    </filter>    <filter-mapping>        <filter-name>springSecurityFilterChain</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <filter-mapping>        <filter-name>sitemeshFilter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>    <filter-mapping>        <filter-name>encodingFilter</filter-name>        <url-pattern>*.do</url-pattern>    </filter-mapping>    <filter-mapping>        <filter-name>encodingFilter</filter-name>        <url-pattern>/servlet/*</url-pattern>    </filter-mapping>    <listener>        <listener-class>com.friendcom.mes.SystemContextLoaderListener</listener-class>    </listener>    <listener>        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>    </listener>    <listener>        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>    </listener>    <servlet>        <servlet-name>springMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>springMVC</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping></web-app>

数据源一:erp-config.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:jpa="http://www.springframework.org/schema/data/jpa"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">    <jpa:repositories base-package="com.friendcom.mes.erp.dao" transaction-manager-ref="erpTransactionManager"                      entity-manager-factory-ref="erpEntityManagerFactory"                      repository-impl-postfix="Impl"/>    <!-- 数据源配置,使用应用内的DBCP数据库连接池 -->    <bean id="dataSourceErp" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="${jdbc.sqlserver.driver}"/>        <property name="url" value="${jdbc.sqlserver.url}"/>        <property name="username" value="${jdbc.sqlserver.username}"/>        <property name="password" value="${jdbc.sqlserver.password}"/>        <property name="initialSize" value="${dbcp.initialSize}"/>        <property name="maxActive" value="${dbcp.maxActive}"/>        <property name="maxIdle" value="${dbcp.maxIdle}"/>        <property name="defaultAutoCommit" value="false"/>    <!--    <property name="validationQuery" value="${validation.Oralquery}"/>-->    </bean>    <!-- Jpa Entity Manager 配置 -->    <bean id="erpEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">        <property name="dataSource" ref="dataSourceErp"/>        <property name="jpaVendorAdapter" ref="erpJpaVendorAdapter"/>        <property name="packagesToScan">            <list>                <value>com.friendcom.mes.erp.entity</value>            </list>        </property>        <property name="jpaProperties">            <props>                <prop key="hibernate.cache.region.factory_class">${hibernate.cache.provider_class}</prop>                <prop key="hibernate.ejb.naming_strategy">com.friendcom.core.orm.UnderscoresNamingStrategy</prop>                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>                <!-- 配置 hibernate boolean型与 数据库 char(1) 的映射 -->                <prop key="query.substitutions">true 1,false 0</prop>                <!-- 打开hibernate统计功能,测试中使用hibernate的统计类 -->                <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>            </props>        </property>        <property name="jpaDialect">            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/>        </property>        <property name="loadTimeWeaver">            <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>        </property>    </bean>    <bean id="erpJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">        <property name="database" value="SQL_SERVER"/>        <property name="showSql" value="${hibernate.show_sql}"/>        <property name="generateDdl" value="false"/>    </bean>    <!--事务管理器配置,单数据源事务 -->    <bean id="erpTransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">        <property name="entityManagerFactory" ref="erpEntityManagerFactory"/>        <qualifier value="erpEM" />        <property name="jpaDialect">            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />        </property>    </bean>    <!-- 使用annotation定义事务 -->    <tx:annotation-driven transaction-manager="erpTransactionManager" proxy-target-class="true"/></beans>

数据源二:trace-config.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:jpa="http://www.springframework.org/schema/data/jpa"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">    <jpa:repositories base-package="com.friendcom.mes.trace.dao" transaction-manager-ref="transactionManager"                      entity-manager-factory-ref="entityManagerFactory"                      repository-impl-postfix="Impl"/>    <!-- 数据源配置,使用应用内的DBCP数据库连接池 -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="${jdbc.oracle.driver}"/>        <property name="url" value="${jdbc.oracle.driver}"/>        <property name="username" value="${jdbc.oracle.username}"/>        <property name="password" value="${jdbc.oracle.password}"/>        <property name="initialSize" value="${dbcp.initialSize}"/>        <property name="maxActive" value="${dbcp.maxActive}"/>        <property name="maxIdle" value="${dbcp.maxIdle}"/>        <property name="defaultAutoCommit" value="false"/>       <!-- <property name="validationQuery" value="${validation.query}"/>-->    </bean>    <!-- Jpa Entity Manager 配置 -->    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">        <property name="persistenceUnitName" value="entityManagerFactory" />        <!--          注意将persistenceUnitName值set为entityManagerFactory,此时在BaseDaoImpl类里面注入entityManagerFactory时,需要有如下注解          @PersistenceContext(unitName="entityManagerFactory")          protected EntityManager entityManager;        -->        <property name="dataSource" ref="dataSource"/>        <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/>        <property name="packagesToScan">            <list>                <value>com.friendcom.mes.trace.entity</value>            </list>        </property>        <property name="jpaProperties">            <props>                <prop key="hibernate.cache.region.factory_class">${hibernate.cache.provider_class}</prop>                <prop key="hibernate.ejb.naming_strategy">com.friendcom.core.orm.UnderscoresNamingStrategy</prop>                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>                <!-- 配置 hibernate boolean型与 数据库 char(1) 的映射 -->                <prop key="query.substitutions">true 1,false 0</prop>                <!-- 打开hibernate统计功能,测试中使用hibernate的统计类 -->                <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>            </props>        </property>        <property name="jpaDialect">            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect"/>        </property>        <property name="loadTimeWeaver">            <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>        </property>    </bean>    <bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">        <property name="database" value="ORACLE"/>        <property name="showSql" value="${hibernate.show_sql}"/>        <property name="generateDdl" value="false"/>    </bean>    <bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"/>    <!--事务管理器配置,单数据源事务 -->    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">        <property name="entityManagerFactory" ref="entityManagerFactory"/>        <qualifier value="traceEM" />        <property name="jpaDialect">            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />        </property>    </bean>    <!-- 使用annotation定义事务 -->    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/></beans>
springMvc-serverlet.xml配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd"default-lazy-init="true"><description>Spring公共配置 </description><!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 --><context:component-scan base-package="com.friendcom.mes.web.action.*"use-default-filters="false"><context:include-filter type="annotation"expression="org.springframework.stereotype.Controller" /><context:include-filter type="annotation"expression="org.springframework.web.bind.annotation.ControllerAdvice" /></context:component-scan><beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /><bean id="conversionService"class="org.springframework.format.support.FormattingConversionServiceFactoryBean"><property name="converters"><list><bean class="com.friendcom.core.web.DateConverter" /></list></property></bean><!-- 启动Spring MVC的注解功能,完成请求和注解POJO --><mvc:annotation-drivencontent-negotiation-manager="contentNegotiationManager"conversion-service="conversionService"><mvc:message-converters register-defaults="true"><!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->            <bean class="org.springframework.http.converter.StringHttpMessageConverter">                <property name="supportedMediaTypes">                    <list>                        <value>text/plain;charset=UTF-8</value>                        <value>text/html;charset=UTF-8</value>                    </list>                </property>            </bean>            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                <property name="supportedMediaTypes">                    <list>                        <value>application/json; charset=UTF-8</value>                        <value>application/x-www-form-urlencoded; charset=UTF-8</value>                    </list>                </property>                <property name="objectMapper">                    <bean class="com.friendcom.core.orm.HibernateAwareObjectMapper" />                </property>            </bean>        </mvc:message-converters></mvc:annotation-driven><!-- REST中根据URL后缀自动判定Content-Type及相应的View --><bean id="contentNegotiationManager"class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"><property name="mediaTypes"><value>json=application/jsonxml=application/xml</value></property></bean><!-- 定义 视图解析 JSP文件的位置 --><bean id="viewResolver_system"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean><!-- 容器默认的DefaultServletHandler处理 所有静态内容与无RequestMapping处理的URL --><mvc:default-servlet-handler /><bean id="defaultUrlMapping"class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"><property name="interceptors" ref="localeChangeInterceptor" /><property name="order"><value>1</value></property></bean><bean id="localeChangeInterceptor"class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" /><bean id="localeResolver"class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean><bean id="messageSource"class="org.springframework.context.support.ResourceBundleMessageSource"><property name="basenames"><list><value>message</value><value>ValidationMessages</value></list></property><property name="useCodeAsDefaultMessage" value="true" /></bean><bean id="validator"class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"><property name="providerClass" value="org.hibernate.validator.HibernateValidator" /><!-- 如果不加默认到 使用classpath下的 ValidationMessages.properties --><property name="validationMessageSource" ref="messageSource" /></bean><bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"p:defaultEncoding="utf-8"><property name="maxUploadSize"><value>104857600</value></property><property name="maxInMemorySize"><value>4096</value></property></bean><!-- <bean id="jsonFilterAdvice" class="com.itee.core.web.json.filter.JsonFilterAdvice" /> <aop:config> <aop:aspect id="jsonFilterAspect" ref="jsonFilterAdvice"> <aop:pointcut expression="execution(* com.itee.web.action.pda.*Controller.*(..))" id="jsonFilterPointcut" /> <aop:around method="doAround" pointcut-ref="jsonFilterPointcut" /> </aop:aspect> </aop:config> --></beans>

application.properties

jdbc.oracle.driver=oracle.jdbc.driver.OracleDriverjdbc.oracle.url=jdbc:oracle:thin:@192.168.1.100:1521:ORCLjdbc.oracle.username=mesjdbc.oracle.password=123456jdbc.sqlserver.driver=com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc.sqlserver.url=jdbc:sqlserver://192.168.2.67:1433;DatabaseName=AIS20121019174811_db_201405091300 //注意 05以上不用microcsoftjdbc.sqlserver.username=sajdbc.sqlserver.password=123456#dbcp settingsdbcp.initialSize=1dbcp.maxActive=3dbcp.maxIdle=3#dynamic setting#validation.query=SELECT count(CONCENT_ID) FROM concent#hibernate settingshibernate.show_sql=truehibernate.format_sql=truehibernate.generate_statistics=truehibernate.cache.provider_class=org.hibernate.cache.SingletonEhCacheRegionFactory


0 0
原创粉丝点击