xinyb
2024-09-09 6a63e2f86f981066357bd60d34496c627a51e3a8
提交 | 用户 | age
a6a76f 1 <?xml version="1.0" encoding="UTF-8"?>
F 2 <beans xmlns="http://www.springframework.org/schema/beans"
03b162 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
F 4        xmlns:tx="http://www.springframework.org/schema/tx"
5        xmlns:aop="http://www.springframework.org/schema/aop"
6        xmlns:context="http://www.springframework.org/schema/context"
7        xsi:schemaLocation="http://www.springframework.org/schema/beans
8     http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
9     http://www.springframework.org/schema/tx
10     http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
11     http://www.springframework.org/schema/aop
12     http://www.springframework.org/schema/aop/spring-aop-4.2.xsd
13     http://www.springframework.org/schema/context
14     http://www.springframework.org/schema/context/spring-context-4.2.xsd"
15        default-lazy-init="true"
a6a76f 16 >
03b162 17     <description>Spring公共配置文件</description>
F 18     <context:component-scan base-package="com.yc"/>
19     <context:component-scan base-package="me.chanjar"/>
20     <!-- 使用annotation 自动注册bean,并保证@Required,@Autowired的属性被注入 -->
21     <context:annotation-config/>
22     <import resource="spring-redis.xml"/>
23     <!--
24         <context:property-placeholder location="classpath:jdbc.properties"/>
25     -->
a6a76f 26
03b162 27     <!--
F 28         ****************************代理connection用当前线程记录执行sql配置start**********************************
29     -->
30     <!--配置统一数据源,将来系统中使用的数据源将从他当中获取-->
31     <bean id="multiDataSource" class="com.yc.multiData.MultiDataSource"></bean>
32     <!--封装dataSource 对当前线程所执行的sql进行记录-->
33     <bean id="dataSource" class="com.yc.dataAccess.YCDataSource">
34         <constructor-arg name="dataSource">
35             <ref bean="multiDataSource"/>
36         </constructor-arg>
37     </bean>
38     <!--
39         ****************************记录执行sql配置end**********************************
40     -->
41     <!--
42         ****************************不使用代理connection(不记录执行sql配置start)**********************************
43     -->
44     <!--
45         ****************************不记录执行sql配置end**********************************
46     -->
47     <!-- 配置defaultLobHandler -->
a6a76f 48     <bean id="defaultLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler"
03b162 49           lazy-init="true"/>
F 50     <!-- 基本的JDBC操作类,在server层直接引用就可以使用 -->
51     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
52         <constructor-arg name="dataSource">
53             <ref bean="dataSource"/>
54         </constructor-arg>
55     </bean>
56     <!-- 提供用javaBean作为对象进行参数传递给jdbc使用,在server层直接引用就可以使用 -->
57     <bean id="simpleJdbcInsert" class="org.springframework.jdbc.core.simple.SimpleJdbcInsert">
58         <constructor-arg name="dataSource">
59             <ref bean="dataSource"/>
60         </constructor-arg>
61     </bean>
62     <!-- 提供用命令参数进行参数传递给jdbc使用,在server层直接引用就可以使用 -->
63     <bean id="namedParameterJdbcTemplate"
64           class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
65         <constructor-arg name="dataSource">
66             <ref bean="dataSource"/>
67         </constructor-arg>
68     </bean>
69     <!-- 提供调用存储过程功能给jdbc使用,在server层直接引用就可以使用 -->
70     <bean id="simpleJdbcCall" class="org.springframework.jdbc.core.simple.SimpleJdbcCall">
71         <constructor-arg name="dataSource">
72             <ref bean="dataSource"/>
73         </constructor-arg>
74     </bean>
75     <!--19类型存储过程调用-->
76     <bean id="simpleJdbcCallByProc" class="org.springframework.jdbc.core.simple.SimpleJdbcCall">
77         <constructor-arg name="dataSource">
78             <ref bean="dataSource"/>
79         </constructor-arg>
80     </bean>
81     <bean id="simpleJdbcCallShopping" class="org.springframework.jdbc.core.simple.SimpleJdbcCall" scope="prototype">
82         <constructor-arg name="dataSource">
83             <ref bean="dataSource"/>
84         </constructor-arg>
85     </bean>
86     <!-- 事务管理 -->
87     <bean id="transactionManager"
88           class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
89         <property name="dataSource">
90             <ref bean="dataSource"/>
91         </property>
92     </bean>
93     <!-- 定义事务通知-->
94     <tx:advice id="txAdvice" transaction-manager="transactionManager">
95         <tx:attributes>
96             <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
97             <tx:method name="new*" propagation="REQUIRED" rollback-for="Exception"/>
98             <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
99             <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
100             <tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
101             <tx:method name="change*" propagation="REQUIRED" rollback-for="Exception"/>
102             <tx:method name="del*" propagation="REQUIRED" rollback-for="Exception"/>
103             <tx:method name="do*" propagation="REQUIRED" rollback-for="Exception"/>
104             <tx:method name="addErrorLog" propagation="NOT_SUPPORTED"/>
105             <tx:method name="excelRecord" propagation="NOT_SUPPORTED"/>
106             <tx:method name="*" propagation="SUPPORTS" read-only="true"/>
107         </tx:attributes>
108     </tx:advice>
109     <!-- 事物,日志(拦截service包的所有执行sql函数对执行sql报错的保存到数据库)AOP配置-->
110     <aop:config>
111         <aop:pointcut id="bizMethods"
6e94d5 112                       expression="execution(* com.yc.service..*.*(..)) or execution(* com.yc.sdk.shopping.service..*.*(..))  or execution(* com.yc.sdk.weixincp.service..*.*(..))  or execution(* com.yc.sdk.weixinmp.service..*.*(..)) or execution(* com.yc.api.service..*.*(..)) or execution(* com.yc.ionic.service..*.*(..))  or execution(* com.yc.sdk.oauth2.service..*.*(..)) or execution(* com.yc.im.service..*.*(..)) or execution(* com.yc.batchUpload.service..*.*(..)) or execution(* com.yc.MaintenanceFee.service..*.*(..))"/>
03b162 113         <aop:pointcut id="logger"
f14719 114                       expression="(execution(* com.yc.service..*.*(..)) or execution(* com.yc.sdk.shopping.service..*.*(..))  or execution(* com.yc.sdk.weixincp.service..*.*(..))  or execution(* com.yc.sdk.weixinmp.service..*.*(..)) or execution(* com.yc.api.service..*.*(..)) or execution(* com.yc.app.v2.service..*.*(..)) or execution(* com.yc.ionic.service..*.*(..))  or execution(* com.yc.sdk.oauth2.service..*.*(..)) or execution(* com.yc.im.service..*.*(..)) or execution(* com.yc.batchUpload.service..*.*(..))  or execution(* com.yc.MaintenanceFee.service..*.*(..))  ) and !execution(* com.yc.service.log.ErrorLogImpl.*(..))"/>
03b162 115         <aop:advisor advice-ref="txAdvice" pointcut-ref="bizMethods"/>
F 116         <aop:aspect id="loggerAspect" ref="genericLoggerBean">
117             <aop:around pointcut-ref="logger" method="invoke"/>
118         </aop:aspect>
119     </aop:config>
120     <!-- 事物,日志AOP配置-->
121     <!-- 事物,不进行日志AOP配置-->
122     <!--
123         <aop:config> <aop:pointcut id="bizMethods" expression="execution(*
124         com.yc.service..*.*(..))" /> <aop:advisor advice-ref="txAdvice"
125         pointcut-ref="bizMethods" /> </aop:config>
126     -->
127     <!-- 事物,不进行日志AOP配置-->
128     <bean id="genericLoggerBean" class="com.yc.log.ErrorLoggerBean"></bean>
129     <!-- 使用annotation定义事务 -->
130     <tx:annotation-driven/>
131     <!--
132         ****************************国际化**********************************
133     -->
134     <!-- 这个 bean的id是规定死的,只能为messageSource -->
135     <bean id="messageSource"
136           class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
137         <property name="basenames">
138             <list>
139                 <value>messageSource/messages</value>
140             </list>
141         </property>
142     </bean>
143     <!--
144         ****************************国际化**********************************
145     -->
146     <!-- 重新生成功能号   -->
147     <bean id="formidVersion" class="com.yc.action.build.FormidVersion">
148         <property name="formidConfig">
149             <value>classpath:FormidVersion.xml</value>
150         </property>
151     </bean>
152 </beans>