2026-03-10 16:40:19 +08:00

111 lines
5.9 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
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.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-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/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-1.3.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
<!-- 数据源配置, 使用 BoneCP 数据库连接池 -->
<bean id="dataSource2" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 数据源驱动类可不写Druid默认会自动根据URL识别DriverClass -->
<property name="driverClassName" value="${jdbc.postgresql.driver}" />
<!-- 基本属性 url、user、password -->
<property name="url" value="${jdbc.postgresql.url}" />
<property name="username" value="${jdbc.postgresql.username}" />
<property name="password" value="${jdbc.postgresql.password}" />
<!-- 配置初始化大小、最小、最大 -->
<!-- <property name="initialSize" value="30" /> -->
<!-- <property name="minIdle" value="30" /> -->
<!-- <property name="maxActive" value="400" /> -->
<!-- test -->
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="30" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打开PSCache并且指定每个连接上PSCache的大小Oracle使用 <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> -->
<!-- 配置监控统计拦截的filters -->
<property name="filters" value="stat" />
</bean>
<!-- Mybatis -->
<!-- SqlSessionFactoryBean -->
<bean id="ssf" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 指定dataSource -->
<property name="dataSource" ref="dataSource2">
</property>
<!-- 指定SQL定义文件 -->
<property name="mapperLocations">
<array>
<value>classpath:mapper/*.xml</value>
<value>classpath:mapper_3e/*.xml</value>
</array>
</property>
</bean>
<!-- 定义MapperScannerConfigurer 生成的Dao对象id为接口名首字母小写 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 指定Mapper接口所在包 -->
<property name="basePackage" value="com._3e.newdao,com.univ3e.newdao,com._3e.dao">
</property>
<!-- 默认注入SqlSessionFactory,可以省略 -->
<!-- <property name="dataSource" ref="ssf"></property> -->
</bean>
<!-- 配置一个namedParameterJdbcTemplate -->
<bean id="namedParameterJdbcTemplate2" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource2" />
</bean>
<bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource2" />
<!--指定此参数为false-->
<!-- 针对异常 Transaction rolled back because it has been marked as rollback-only 不知是否会引起其他错误-->
<property name="globalRollbackOnParticipationFailure" value="false" />
</bean>
<!-- 支持@Transactional注解标识 -->
<!-- 带有@Transactional标识的方法会自动调用txManager管理事务 -->
<tx:annotation-driven transaction-manager="transactionManager2" />
<aop:config>
<aop:pointcut id="transacationPointcut2" expression="execution(* *..service*..*(..)) OR (execution (* *..dao*..*(..))" />
<aop:advisor advice-ref="txAdvisor2" pointcut-ref="transacationPointcut2" order="2"/>
</aop:config>
<tx:advice id="txAdvisor2" transaction-manager="transactionManager2">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="load*" read-only="true" />
<tx:method name="update*" propagation="REQUIRED" rollback-for="Exception" />
<tx:method name="do*" propagation="REQUIRED" rollback-for="Exception" />
<tx:method name="do*_" propagation="REQUIRES_NEW" rollback-for="Exception" />
<tx:method name="log*" propagation="REQUIRES_NEW" rollback-for="Exception" />
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
</beans>