<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:config/ctx-common.xml,classpath:config/ctx-uniQuery.xml,classpath:config/ctx-quartz.xml
</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>
<filter>
<filter-name>timetaskckfilefilter</filter-name>
<filter-class>com.umpay.hfmng.timetask.TimeTaskCKFileFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>timetaskckfilefilter</filter-name>
<url-pattern>/timetaskckfile/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>timetaskfeedbackfilter</filter-name>
<filter-class>com.umpay.hfmng.timetask.TimeTaskFeedbackFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>timetaskfeedbackfilter</filter-name>
<url-pattern>/timetaskfeedback/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>ssoLogoutServlet</servlet-name>
<servlet-class>com.umpay.sso.client.SSOClientLogoutServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ssoLogoutServlet</servlet-name>
<url-pattern>/ssoClient/logout</url-pattern>
</servlet-mapping>
<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>
<filter>
<filter-name>requestContextFilter</filter-name>
<filter-class>org.springframework.web.filter.RequestContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requestContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>SSOAgent</filter-name>
<filter-class>com.umpay.sso.client.SSOAgent</filter-class>
<init-param>
<param-name>_exclude_urlpattern</param-name>
<param-value>.jpg|.css|.js|.jpg|.gif|.png|.gzjs|.gzcss|.htm</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SSOAgent</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>SSOUrlAclFilter</filter-name>
<filter-class>com.umpay.sso.client.SSOUrlAclFilter</filter-class>
<init-param>
<param-name>blackList</param-name>
<param-value>/a/*.do*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.htm</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>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SSOUrlAclFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<servlet>
<servlet-name>busi</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/ctx-mvc.xml
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>busi</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>403</error-code>
<location>/jsp/sys/403.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/jsp/sys/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/jsp/sys/500.jsp</location>
</error-page>
</web-app>
ctx-common.xml
<?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:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jdbc
http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd">
<!--messageSource -->
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages</value>
</list>
</property>
<property name="cacheSeconds">
<value>10</value>
</property>
</bean>
<!--system config -->
<bean id="sysConfSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:sysconf</value>
</list>
</property>
<property name="cacheSeconds">
<value>10</value>
</property>
</bean>
<bean id="messageService" class="com.umpay.hfmng.service.impl.MessageServiceImpl">
<constructor-arg ref="messageSource" />
<constructor-arg ref="sysConfSource" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:jdbc.properties</value>
<!-- <value>classpath:proxool.properties</value> -->
</property>
</bean>
<!-- cache -->
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation">
<value>classpath:ehcache.xml</value>
</property>
</bean>
<bean id="CouponInfCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>CouponInfCache</value>
</property>
</bean>
<bean id="ChannelInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>ChannelInfoCache</value>
</property>
</bean>
<bean id="MerInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>MerInfoCache</value>
</property>
</bean>
<bean id="GoodsTypeCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>GoodsTypeCache</value>
</property>
</bean>
<bean id="BankInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>BankInfoCache</value>
</property>
</bean>
<bean id="XeBankInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>XeBankInfoCache</value>
</property>
</bean>
<bean id="GoodsInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>GoodsInfoCache</value>
</property>
</bean>
<bean id="UserInfoCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>UserInfoCache</value>
</property>
</bean>
<bean id="OperCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>OperCache</value>
</property>
</bean>
<bean id="UrlAclCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>UrlAclCache</value>
</property>
</bean>
<bean id="UserRoleCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>UserRoleCache</value>
</property>
</bean>
<bean id="ChnlInfCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>ChnlInfCache</value>
</property>
</bean>
<bean id="SecMerInfCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>SecMerInfCache</value>
</property>
</bean>
<bean id="GoodsCategoryCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>GoodsCategoryCache</value>
</property>
</bean>
<bean id="ParaCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>ParaCache</value>
</property>
</bean>
<bean id="MerOperCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<ref local="cacheManager" />
</property>
<property name="cacheName">
<value>MerOperCache</value>
</property>
</bean>
<bean id="cacheMap" class="java.util.HashMap">
<constructor-arg>
<map>
<entry key="CouponInfCache" value-ref="CouponInfCache" />
<entry key="MerInfoCache" value-ref="MerInfoCache" />
<entry key="BankInfoCache" value-ref="BankInfoCache" />
<entry key="XeBankInfoCache" value-ref="XeBankInfoCache" />
<entry key="GoodsInfoCache" value-ref="GoodsInfoCache" />
<entry key="UserInfoCache" value-ref="UserInfoCache" />
<entry key="OperCache" value-ref="OperCache" />
<entry key="UrlAclCache" value-ref="UrlAclCache" />
<entry key="GoodsTypeCache" value-ref="GoodsTypeCache" />
<entry key="UserRoleCache" value-ref="UserRoleCache" />
<entry key="ChannelInfoCache" value-ref="ChannelInfoCache" />
<entry key="ChnlInfCache" value-ref="ChnlInfCache" />
<entry key="SecMerInfCache" value-ref="SecMerInfCache" />
<entry key="GoodsCategoryCache" value-ref="GoodsCategoryCache" />
<entry key="ParaCache" value-ref="ParaCache" />
<entry key="MerOperCache" value-ref="MerOperCache" />
</map>
</constructor-arg>
</bean>
<!-- <bean id="merInfoDao" class="com.umpay.hfmng.dao.impl.MerInfoDaoImpl">
</bean> -->
<bean id="HfCache" class="com.umpay.hfmng.cache.HfCache">
<property name="cacheMp" ref="cacheMap" />
<!-- <property name="merInfoDao" ref="merInfoDao"/> -->
<property name="messageService" ref="messageService" />
</bean>
<!-- 数据源配置,使用应用内的C3P0数据库连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driver}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="autoCommitOnClose" value="true" />
<property name="checkoutTimeout" value="10000" /><!-- 10s -->
<property name="initialPoolSize" value="1" />
<property name="minPoolSize" value="1" />
<property name="maxPoolSize" value="2" />
<property name="acquireIncrement" value="1" />
<property name="idleConnectionTestPeriod" value="60" /><!-- 60s -->
<property name="preferredTestQuery" value="values(current timestamp)" />
</bean>
<!-- 事务管理器配置,单数据源事务 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:sqlmap-config.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="dao" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient" ref="sqlMapClient" />
</bean>
<!-- 离线库的连接池、sqlMapClient和dao -->
<bean id="dataSourceOffline" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${offline.jdbc.driver}" />
<property name="jdbcUrl" value="${offline.jdbc.url}" />
<property name="user" value="${offline.jdbc.username}" />
<property name="password" value="${offline.jdbc.password}" />
<property name="autoCommitOnClose" value="true" />
<property name="checkoutTimeout" value="10000" /><!-- 10s -->
<property name="initialPoolSize" value="1" />
<property name="minPoolSize" value="1" />
<property name="maxPoolSize" value="2" />
<property name="acquireIncrement" value="1" />
<property name="idleConnectionTestPeriod" value="60" /><!-- 60s -->
<property name="preferredTestQuery" value="values(current timestamp)" />
</bean>
<bean id="sqlMapClient_Offline" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:sqlmap-config-offline.xml" />
<property name="dataSource" ref="dataSourceOffline" />
</bean>
<bean id="offlineDao" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
<property name="sqlMapClient" ref="sqlMapClient_Offline" />
</bean>
<!-- 使用annotation定义事务 <tx:annotation-driven transaction-manager="transactionManager"
/> -->
<!-- 支持上传文件 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--resolveLazily属性启用是为了推迟文件解析,以便在action中捕获文件大小异常 -->
<property name="resolveLazily" value="true" />
<!--最大为10M 即10*1024*1024bytes -->
<property name="maxUploadSize" value="10485760" />
</bean>
<!-- 资源层和业务层的链接控制器 -->
<bean id="httpClientControler" class="com.umpay.hfmng.common.HttpClientControler" destroy-method="destory">
<constructor-arg index="0"><value>20</value></constructor-arg>
<constructor-arg index="1"><value>30000</value></constructor-arg>
</bean>
</beans>
ctx-quartz.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--起动Bean-->
<bean id="hfmngJob" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="globalJobListeners">
<list>
<ref bean="commonJobListener" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="feeCodeCountJobTrigger"/>
<ref bean="tradeGradeTrigger"/>
<ref bean="reduceDataGradeTrigger"/>
<ref bean="calculateGradeTrigger"/>
<ref bean="gradeRankTrigger"/>
</list>
</property>
</bean>
<!--实际的工作Bean-->
<bean id="commonJobListener" class="com.umpay.hfmng.job.CommonJobListener"></bean>
<bean id="feeCodeCountJob" class="com.umpay.hfmng.job.FeeCodeCountJob" ></bean>
<bean id="tradeGradeJob" class="com.umpay.hfmng.job.TradeGradeJob" ></bean>
<bean id="reduceDataGradeJob" class="com.umpay.hfmng.job.ReduceDataGradeJob" ></bean>
<bean id="calculateGradeJob" class="com.umpay.hfmng.job.CalculateGradeJob" ></bean>
<bean id="gradeRankJob" class="com.umpay.hfmng.job.GradeRankJob" ></bean>
<!--jobBean用于设定启动时运用的Bean与方法-->
<bean id="feeCodeCountJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="feeCodeCountJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>
</property>
</bean>
<bean id="tradeGradeJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="tradeGradeJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>
</property>
</bean>
<bean id="reduceDataGradeJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="reduceDataGradeJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>
</property>
</bean>
<bean id="calculateGradeJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="calculateGradeJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>
</property>
</bean>
<bean id="gradeRankJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="gradeRankJob"/>
</property>
<property name="targetMethod">
<value>doJob</value>
</property>
</bean>
<!--定时器设定起动频率&启动时间-->
<bean id="feeCodeCountJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="feeCodeCountJobDetail"/>
</property>
<property name="cronExpression">
<value>0 0 01 * * ?</value>
<!-- "0 0 01 * * ?" 每天一点触发-->
</property>
</bean>
<bean id="tradeGradeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="tradeGradeJobDetail"/>
</property>
<property name="cronExpression">
<value>15 12 5 3 * ?</value>
</property>
</bean>
<bean id="reduceDataGradeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="reduceDataGradeJobDetail"/>
</property>
<property name="cronExpression">
<value>15 32 5 3 * ?</value>
</property>
</bean>
<bean id="calculateGradeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="calculateGradeJobDetail"/>
</property>
<property name="cronExpression">
<value>15 52 5 3 * ?</value>
</property>
</bean>
<bean id="gradeRankTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="gradeRankJobDetail"/>
</property>
<property name="cronExpression">
<!-->value>15 2 2 26 * ?</value-->
<value>10 50 11 6 * ?</value>
</property>
</bean>
</beans>
ctx-uniQuery.xml
<?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:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 统一查询相关bean -->
<bean id="namedJt" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
<bean id="uniQueryService" class="com.umpay.uniquery.impl.UniQueryServiceImpl">
<property name="jt" ref="namedJt" />
<property name="dialect" ref="db2Dialect" />
<property name="sqlTemplate">
<ref bean="sqlTemplate" />
</property>
</bean>
<bean id="db2Dialect" class="com.umpay.uniquery.impl.DB2Dialect">
</bean>
<bean id="sqlTemplate" class="com.umpay.uniquery.impl.VelocitySqlTemplate">
<property name="sqlConfig">
<ref bean="sqlConfig" />
</property>
</bean>
<bean id="sqlConfig" class="com.umpay.uniquery.impl.XmlSqlConfig">
<constructor-arg index="0" value="query" />
</bean>
<!-- 统一查询相关bean 离线库 -->
<bean id="namedJtOffline" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSourceOffline" />
</bean>
<bean id="uniQueryServiceOffline" class="com.umpay.uniquery.impl.UniQueryServiceImpl">
<property name="jt" ref="namedJtOffline" />
<property name="dialect" ref="db2Dialect" />
<property name="sqlTemplate">
<ref bean="sqlTemplateOffline" />
</property>
</bean>
<bean id="sqlTemplateOffline" class="com.umpay.uniquery.impl.VelocitySqlTemplate">
<property name="sqlConfig">
<ref bean="sqlConfigOffline" />
</property>
</bean>
<bean id="sqlConfigOffline" class="com.umpay.uniquery.impl.XmlSqlConfig">
<constructor-arg index="0" value="queryOffline" />
</bean>
</beans>
ctx-mvc.xml
<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean
class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<!-- spring视图展示处理,如excel下载,json格式输出等 -->
<bean id="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="order" value="1" />
<property name="location" value="/WEB-INF/classes/config/ctx-views.xml" />
</bean>
<!-- spring视图 velocity模板处理 -->
<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/vm/" />
<property name="velocityProperties">
<props>
<prop key="input.encoding">UTF-8</prop>
<prop key="output.encoding">UTF-8</prop>
<prop key="contentType">text/html;charset=UTF-8</prop>
</props>
</property>
</bean>
<bean id="velocityViewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="false" />
<property name="suffix" value=".vm" />
<property name="contentType" value="text/html;charset=UTF-8" />
<!--property name="exposeSpringMacroHelpers" value="true" / -->
<property name="exposeRequestAttributes" value="true" />
<property name="requestContextAttribute" value="request" />
<property name="numberToolAttribute" value="number" />
<property name="dateToolAttribute" value="date" />
</bean>
<!-- 自动搜索@Controller标注的类 -->
<context:component-scan base-package="com.umpay.hfmng" />
<!-- 获取Spring Application上下文 -->
<bean id="SpringContextUtil" class="com.umpay.hfmng.common.SpringContextUtil" />
<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager" />
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<!-- 多个拦截器,顺序执行 -->
<list>
<ref bean="logInterceptor" />
</list>
</property>
</bean>
<bean id="logInterceptor" class="com.umpay.hfmng.interceptor.LogInterceptor" />
<bean id="daoLogger" class="com.umpay.hfmng.interceptor.DaoLoggerInterceptor" />
<bean name="daoLogProxy"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list>
<value>daoLogger</value>
</list>
</property>
<property name="beanNames">
<list>
<value>*DaoImpl</value>
</list>
</property>
</bean>
</beans>
ctx-views.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="jsonView" class="com.umpay.hfmng.view.AjaxJsonView">
<property name="contentType"><value>application/json;charset=UTF-8</value></property>
</bean>
<bean name="excelView" class="com.umpay.hfmng.view.ExcelView">
</bean>
<bean name="excelViewMer" class="com.umpay.hfmng.view.MerExcelView">
</bean>
<bean name="excelViewMerBank" class="com.umpay.hfmng.view.MerBankExcelView">
</bean>
<bean name="excelFeeCode" class="com.umpay.hfmng.view.FeeCodeExcel">
</bean>
<bean name="excelFeeCodeUseQuery" class="com.umpay.hfmng.view.FeeCodeUseQueryExcel">
</bean>
<bean name="excelViewGoodsFeeCodeAdd" class="com.umpay.hfmng.view.GoodsFeeCodeAddExcelView">
</bean>
<bean name="excelViewGoodsFeeCodeManage" class="com.umpay.hfmng.view.GoodsFeeCodeManageExcelView">
</bean>
<bean name="excelViewFeeCodeImportError" class="com.umpay.hfmng.view.FeeCodeImportErrorView">
</bean>
<bean name="excelStatsView" class="com.umpay.hfmng.view.ExcelCouponStatsView">
</bean>
<bean name="couponCodeExcelView" class="com.umpay.hfmng.view.CouponCodeExcelView">
</bean>
<bean name="bakeupDataView" class="com.umpay.hfmng.view.BakeupDataExcelView">
</bean>
<bean name="excelMerGrade" class="com.umpay.hfmng.view.MerGradeExcelView">
</bean>
<bean name="excelMerGradeImportError" class="com.umpay.hfmng.view.MerGradeImportErrorView">
</bean>
<bean name="excelDownloadDoc" class="com.umpay.hfmng.view.DownloadDocView">
</bean>
<bean name="excelChnlBank" class="com.umpay.hfmng.view.ChnlBankExcelView">
</bean>
<bean name="excelViewChnl" class="com.umpay.hfmng.view.ChnlExcelView">
</bean>
<bean name="excelChnlGoods" class="com.umpay.hfmng.view.ChnlGoodsExcelView">
</bean>
<bean name="excelChnlMer" class="com.umpay.hfmng.view.ChnlMerExcelView">
</bean>
<bean name="excelViewSecMer" class="com.umpay.hfmng.view.SecMerExcelView"> </bean>
<bean name="textView" class="com.umpay.hfmng.view.TextView">
</bean>
<bean name="excelProxyOrder" class="com.umpay.hfmng.view.ProxyOrderExcelView"></bean>
<bean name="excelMerBusiConf" class="com.umpay.hfmng.view.MerBusiConfView"></bean>
<bean name="stlAllBillExcelView" class="com.umpay.hfmng.view.StlAllBillExcelView"></bean>
<bean name="stlBjBillExcelView" class="com.umpay.hfmng.view.StlBjBillExcelView"></bean>
<bean name="stlSwBillExcelView" class="com.umpay.hfmng.view.StlSwBillExcelView"></bean>
<bean name="xlsView" class="com.umpay.hfmng.view.XlsView"></bean>
<bean name="upServiceView" class="com.umpay.hfmng.view.UPServiceExcelView"></bean>
</beans>
相关文章
XML轻松学习手册