这份只是我的留下以后作参考的,其中有些代码、注释如有不对,请各位大牛指出,小弟不胜感激。
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" 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 http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- <context:spring-configured/>--> <context:component-scan base-package="cn.ksms"/> <!-- <context:component-scan base-package="cn.ksms.controller"/>--> <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> <bean id="feermarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <!-- 模板本地路径 --> <property name="templateLoaderPath" value="/ftl/"></property> <property name="freemarkerSettings"> <props> <!-- 配置模板字符集编码 --> <prop key="defaultEncoding">UTF-8</prop> <!-- 设置每隔多少秒去检查模板是否被更新,按秒算 --> <prop key="template_update_delay">0</prop> <!-- 本地语言,中文 --> <prop key="locale">zh_CN</prop> </props> </property> <!-- 一些freemarker的扩展,或者用户自定义方法 --> <property name="freemarkerVariables"> <map> <!-- 支持#escape指令:将<,>,$,",\转义为html符号<,>,&,",&apos --> <entry key="xml_escape" value-ref="fmXmlEscape"/> <!-- 支持@block指令:定义块,可以被子模板用@override指令覆盖显示 --> <entry key="block" value-ref="block"/> <!-- 支持@override指令:覆盖@block指令显示的内容 --> <entry key="override" value-ref="override"/> <!-- 支持@extends指令:继承其他模板,必须放在模板的最后面(该指令完全等价于#include指令,只是为了提供统一的语义,即extends比include更好理解) --> <entry key="extends" value-ref="extends"/> </map> </property> </bean> <!-- 具体的类 --> <bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/> <!-- 下面三个类实现了模板的继承功能 --> <bean id="block" class="cn.org.rapid_framework.freemarker.directive.BlockDirective"></bean> <bean id="override" class="cn.org.rapid_framework.freemarker.directive.OverrideDirective"></bean> <bean id="extends" class="cn.org.rapid_framework.freemarker.directive.ExtendsDirective"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <!-- 解析json请求数据,将json转换为java对象 --> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 解析xml请求数据,将xml转换为java对象 --> <bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter"> <constructor-arg> <bean class="org.springframework.oxm.xstream.XStreamMarshaller"> <property name="streamDriver"> <bean class="com.thoughtworks.xstream.io.xml.DomDriver"/> </property> <property name="autodetectAnnotations" value="true"></property> <!-- 可以与xml互换的对象,需要使用xstream的注解,注解的使用方法请参xstream官网 --> <property name="annotatedClasses"> <list> <value>cn.ksms.pojo.Message</value> <value>cn.ksms.pojo.Parentinfo</value> </list> </property> </bean> </constructor-arg> </bean> <bean class="org.springframework.http.converter.FormHttpMessageConverter"></bean> <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter"></bean> <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></bean> <bean class="org.springframework.http.converter.StringHttpMessageConverter"></bean> <bean class="org.springframework.http.converter.ResourceHttpMessageConverter"></bean> </list> </property> </bean> <!-- <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">--> <!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>--> <!-- <property name="prefix" value="/jsp/"></property>--> <!-- <property name="suffix" value=""></property>--> <!-- </bean>--> <!-- 本身并不去解析,只是分配给其他的ViewResolver --> <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <property name="defaultContentType" value="application/json"></property> <property name="mediaTypes"> <map> <entry key="html" value="text/html"></entry> <entry key="json" value="application/json"></entry> <entry key="xml" value="application/xml"></entry> </map> </property> <!-- 返回视图解析器 --> <property name="viewResolvers"> <list> <!-- 配置freeMarker视图解析器 --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"> <!-- 启用缓存,按字面意思猜的 --> <property name="cache" value="true"></property> <property name="prefix" value=""></property> <property name="suffix" value=".ftl"></property> <!-- 同exposeSessionAttributes--> <property name="exposeSpringMacroHelpers" value="true"></property> <!-- 同exposeSessionAttributes--> <property name="exposeRequestAttributes" value="true"></property> <!-- 是否所有session属性在于模板进行合并之前添加到model中,可以理解为session范围内所包含的所有对象,而不是一个真正的session对象 --> <property name="exposeSessionAttributes" value="true"></property> <property name="contentType" value="text/html;charset=UTF-8"></property> </bean> <!-- 配置jsp的视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/jsp/"/> <property name="suffix" value=""></property> </bean> </list> </property> <!-- 默认返回视图 --> <property name="defaultViews"> <list> <!-- 输出为JSON数据 --> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"></bean> <!-- 输出为xml数据 --> <bean id="marshallingView" class="org.springframework.web.servlet.view.xml.MarshallingView"> <property name="marshaller"> <bean id="XStreamMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller"> <property name="autodetectAnnotations" value="true"></property> </bean> </property> <property name="contentType" value="application/xml"></property> </bean> </list> </property> </bean> <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> <property name="defaultErrorView" value="/error.jsp"></property> <property name="exceptionMappings"> <props> <prop key="java.sql.SQLException">errorDB.jsp</prop> <prop key="java.lang.RuntimeException">errorRT.jsp</prop> </props> </property> </bean> <!-- 拦截器 --> <mvc:interceptors> <!-- <mvc:interceptor>--> <!-- <mvc:mapping path="/SeriviceProcessor"/>--> <!-- <bean class="cn.ksms.interceptor.XmlInterceptor"></bean>--> <!-- </mvc:interceptor>--> <!-- <mvc:interceptor>--> <!-- <mvc:mapping path="/*"/>--> <bean class="cn.ksms.interceptor.MyInterceptor"></bean> <!-- </mvc:interceptor>--> </mvc:interceptors> <!-- 静态文件加载 --> <mvc:resources location="/js/" mapping="/js/**"/> <mvc:resources location="/image/" mapping="/image/**"/> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/res/" mapping="/res/**"/> </beans>