springmvc框架搭建

来源:互联网 发布:淘宝古着是什么意思 编辑:程序博客网 时间:2024/06/06 01:43

从2014年12月开始,一直在研究Spring的框架;并且在我们新的开发框架中得到应用;这篇文章记录了这段时间的成长记录,仅此先给共同成长的小白。

 为了简单,我们选择使用maven来构建项目,通过maven可以控制引入jar的版本,大大简化了jar包的管理工作,废话不多说,创建一个项目

一、创建一个新项目

1、创建maven项目

2、选择 maven-archetype-webapp

3、填写groupId、artifactId、package

项目目录:

项目目录

二、项目创建完成后修改默认的jdk、编译器等默认属性,我的项目选择的是jdk7

3、 引入Spring的jar

 

       

Xml代码  收藏代码
  1. <properties>  
  2.         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
  3.         <spring.version>3.2.12.RELEASE</spring.version>  
  4.         <tddl.version>3.0.1.5.taobaocode-SNAPSHOT</tddl.version>  
  5.         <druid.version>0.2.3</druid.version>  
  6.         <cglib.version>2.1_3</cglib.version>  
  7.         <aspectj.version>1.6.6</aspectj.version>  
  8.         <jms.version>2.0</jms.version>  
  9.         <jackson.version>1.9.5</jackson.version>  
  10.         <poi.version>3.10.1</poi.version>  
  11.         <mail.version>1.4.3</mail.version>  
  12.         <atomikos.version>3.9.3</atomikos.version>  
  13.         <mysql.version>5.1.34</mysql.version>  
  14.         <redis.version>2.1.0</redis.version>  
  15.         <jta.version>1.1</jta.version>  
  16.         <activemq.version>5.10.0</activemq.version>  
  17.         <servlet-api.version>5.5.23</servlet-api.version>  
  18.         <fileupload.version>1.3.1</fileupload.version>  
  19.         <fastjson.version>1.1.15</fastjson.version>  
  20.         <json-lib.version>2.4</json-lib.version>  
  21.         <jaxb-api.version>2.2.11</jaxb-api.version>  
  22.         <jaxb-impl.version>2.1</jaxb-impl.version>  
  23.         <woodstox.version>4.1.5</woodstox.version>  
  24.         <activation.version>1.1.1</activation.version>  
  25.         <testng.version>6.8.13</testng.version>  
  26.         <mockito.version>1.10.18</mockito.version>  
  27.         <unitils.version>3.4.2</unitils.version>  
  28.         <java.version>1.7</java.version>  
  29.         <jodd.version>3.3.8</jodd.version>  
  30.         <jstl.version>1.2</jstl.version>  
  31.         <file.encoding>utf-8</file.encoding>  
  32.     </properties>  
  33.     <dependencies>  
  34.         <dependency>  
  35.             <groupId>junit</groupId>  
  36.             <artifactId>junit</artifactId>  
  37.             <version>4.11</version>  
  38.             <scope>test</scope>  
  39.         </dependency>  
  40.         <!-- JSTL -->  
  41.         <dependency>  
  42.             <groupId>jstl</groupId>  
  43.             <artifactId>jstl</artifactId>  
  44.             <version>${jstl.version}</version>  
  45.         </dependency>  
  46.           
  47.         <!-- Spring -->  
  48.         <dependency>  
  49.             <groupId>org.springframework</groupId>  
  50.             <artifactId>spring-web</artifactId>  
  51.             <version>${spring.version}</version>  
  52.         </dependency>  
  53.         <dependency>  
  54.             <groupId>org.springframework</groupId>  
  55.             <artifactId>spring-webmvc</artifactId>  
  56.             <version>${spring.version}</version>  
  57.         </dependency>  
  58.         <dependency>  
  59.             <groupId>org.springframework</groupId>  
  60.             <artifactId>spring-orm</artifactId>  
  61.             <version>${spring.version}</version>  
  62.         </dependency>  
  63.         <dependency>  
  64.             <groupId>org.springframework</groupId>  
  65.             <artifactId>spring-beans</artifactId>  
  66.             <version>${spring.version}</version>  
  67.         </dependency>  
  68.         <dependency>  
  69.             <groupId>org.springframework</groupId>  
  70.             <artifactId>spring-jms</artifactId>  
  71.             <version>${spring.version}</version>  
  72.         </dependency>  
  73.         <dependency>  
  74.             <groupId>org.springframework</groupId>  
  75.             <artifactId>spring-context-support</artifactId>  
  76.             <version>${spring.version}</version>  
  77.         </dependency>  
  78.         <dependency>  
  79.             <groupId>org.aspectj</groupId>  
  80.             <artifactId>aspectjweaver</artifactId>  
  81.             <version>${aspectj.version}</version>  
  82.         </dependency>  
  83.         <dependency>  
  84.             <groupId>javax.jms</groupId>  
  85.             <artifactId>javax.jms-api</artifactId>  
  86.             <version>${jms.version}</version>  
  87.         </dependency>  
  88.         <dependency>  
  89.             <groupId>javax.mail</groupId>  
  90.             <artifactId>mailapi</artifactId>  
  91.             <version>${mail.version}</version>  
  92.         </dependency>  
  93.   
  94.         <!-- json -->  
  95.         <dependency>  
  96.             <groupId>com.alibaba</groupId>  
  97.             <artifactId>fastjson</artifactId>  
  98.             <version>${fastjson.version}</version>  
  99.         </dependency>  
  100.         <dependency>  
  101.             <groupId>net.sf.json-lib</groupId>  
  102.             <artifactId>json-lib</artifactId>  
  103.             <version>${json-lib.version}</version>  
  104.             <classifier>jdk15</classifier>  
  105.         </dependency>  
  106.   
  107.         <!-- MQ-->  
  108.         <dependency>  
  109.             <groupId>org.apache.activemq</groupId>  
  110.             <artifactId>activemq-all</artifactId>  
  111.             <version>${activemq.version}</version>  
  112.         </dependency>  
  113.         <dependency>  
  114.             <groupId>tomcat</groupId>  
  115.             <artifactId>servlet-api</artifactId>  
  116.             <version>${servlet-api.version}</version>  
  117.         </dependency>  
  118.   
  119.         <!-- 分布式事务处理 -->  
  120.         <dependency>  
  121.             <groupId>com.atomikos</groupId>  
  122.             <artifactId>transactions-jta</artifactId>  
  123.             <version>${atomikos.version}</version>  
  124.             <optional>true</optional>  
  125.         </dependency>  
  126.         <dependency>  
  127.             <groupId>com.atomikos</groupId>  
  128.             <artifactId>transactions-jdbc</artifactId>  
  129.             <version>${atomikos.version}</version>  
  130.             <optional>true</optional>  
  131.         </dependency>  
  132.         <dependency>  
  133.             <groupId>javax.transaction</groupId>  
  134.             <artifactId>jta</artifactId>  
  135.             <version>${jta.version}</version>  
  136.             <optional>true</optional>  
  137.         </dependency>  
  138.         <dependency>  
  139.             <groupId>com.alibaba</groupId>  
  140.             <artifactId>druid</artifactId>  
  141.             <version>1.0.9</version>  
  142.             <optional>true</optional>  
  143.         </dependency>  
  144.   
  145.         <!-- poi -->  
  146.         <dependency>  
  147.             <groupId>org.apache.poi</groupId>  
  148.             <artifactId>poi</artifactId>  
  149.             <version>${poi.version}</version>  
  150.         </dependency>  
  151.         <dependency>  
  152.             <groupId>org.apache.poi</groupId>  
  153.             <artifactId>poi-ooxml</artifactId>  
  154.             <version>${poi.version}</version>  
  155.         </dependency>  
  156.   
  157.         <!-- jackson -->  
  158.         <dependency>  
  159.             <groupId>org.codehaus.jackson</groupId>  
  160.             <artifactId>jackson-mapper-asl</artifactId>  
  161.             <version>${jackson.version}</version>  
  162.         </dependency>  
  163.        <dependency>     
  164.            <groupId>cglib</groupId>  
  165.            <artifactId>cglib-nodep</artifactId>  
  166.            <version>${cglib.version}</version>  
  167.        </dependency>  
  168.     <dependency>  
  169.         <groupId>commons-fileupload</groupId>  
  170.         <artifactId>commons-fileupload</artifactId>  
  171.         <version>${fileupload.version}</version>  
  172.     </dependency>       
  173.     <dependency>  
  174.         <groupId>org.jodd</groupId>  
  175.         <artifactId>jodd</artifactId>  
  176.         <version>${jodd.version}</version>  
  177.     </dependency>  
  178. </dependencies>  
  179.    
  180.   
  181.    
  182.   
  183.    
  184.   
  185.    

 

四、 创建Spring的配置文件

 1、 启动Spring需要在web.xml中配置监听,使用SpringMVC需要配置Spring的servlet

Web.xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app>  
  3.     <display-name>Archetype Created Web Application</display-name>  
  4.     <error-page>  
  5.         <exception-type>java.lang.Throwable</exception-type>  
  6.         <location>/500.jsp</location>  
  7.     </error-page>  
  8.     <error-page>  
  9.         <error-code>500</error-code>  
  10.         <location>/500.jsp</location>  
  11.     </error-page>  
  12.     <error-page>  
  13.         <error-code>404</error-code>  
  14.         <location>/404.jsp</location>  
  15.     </error-page>  
  16.     <!-- 装载spring 父上下文 -->  
  17.     <listener>  
  18.         <listener-class>org.springframework.web.context.ContextLoaderListener  
  19.         </listener-class>  
  20.     </listener>  
  21.     <context-param>  
  22.         <param-name>contextConfigLocation</param-name>  
  23.         <param-value>classpath:applicationContext*.xml</param-value>  
  24.     </context-param>  
  25.     <listener>  
  26.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  27.     </listener>  
  28.     <!-- 支持MVC 装载子上下文 -->  
  29.     <servlet>  
  30.         <servlet-name>springMVC</servlet-name>  
  31.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  32.         <init-param>  
  33.             <description>Spring MVC Configuration Location</description>  
  34.             <param-name>contextConfigLocation</param-name>  
  35.             <param-value>  
  36.                 classpath:spring-*.xml  
  37.             </param-value>  
  38.         </init-param>  
  39.         <load-on-startup>1</load-on-startup>  
  40.     </servlet>  
  41.     <servlet-mapping>  
  42.         <servlet-name>springMVC</servlet-name>  
  43.         <url-pattern>*.do</url-pattern>  
  44.     </servlet-mapping>  
  45.     <filter>  
  46.         <filter-name>encode</filter-name>  
  47.         <filter-class>org.springframework.web.filter.DelegatingFilterProxy  
  48.         </filter-class>  
  49.     </filter>  
  50.     <filter-mapping>  
  51.         <filter-name>ssojcFilter</filter-name>  
  52.         <url-pattern>/*</url-pattern>  
  53.     </filter-mapping>  
  54. </web-app>  

 

 2、Spring上下文配置文件ApplicationContext.xml用于配置Spring的通用配置

Applicationcontext.xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.         http://www.springframework.org/schema/beans/spring-beans.xsd  
  8.         http://www.springframework.org/schema/context   
  9.         http://www.springframework.org/schema/context/spring-context.xsd   
  10.         http://www.springframework.org/schema/aop  
  11.         http://www.springframework.org/schema/aop/spring-aop.xsd  
  12.         http://www.springframework.org/schema/tx  
  13.         http://www.springframework.org/schema/tx/spring-tx.xsd ">  
  14.   
  15.     <context:property-placeholder location="classpath:*.properties" />  
  16.           
  17.     <!--dataSource-->  
  18.     <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">  
  19.         <!-- 基本属性 url、user、password -->  
  20.         <property name="url" value="${jdbc.url}" />  
  21.         <property name="username" value="${jdbc.userName}" />  
  22.         <property name="password" value="${jdbc.passWord}" />  
  23.         <!-- 配置初始化大小、最小、最大 -->  
  24.         <property name="initialSize" value="${jdbc.initialSize}" />  
  25.         <property name="minIdle" value="${jdbc.minIdle}" />  
  26.         <property name="maxIdle" value="maxIdle" />  
  27.         <property name="maxActive" value="${jdbc.maxActive}" />  
  28.         <!-- 配置获取连接等待超时的时间 -->  
  29.         <property name="maxWait" value="60000" />  
  30.         <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->  
  31.         <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" />  
  32.         <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->  
  33.         <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" />  
  34.         <property name="validationQuery" value="${jdbc.validationQuery}" />  
  35.         <property name="testWhileIdle" value="${jdbc.testWhileIdle}" />  
  36.         <property name="testOnBorrow" value="${jdbc.testOnBorrow}" />  
  37.         <property name="testOnReturn" value="${jdbc.testOnReturn}" />  
  38.         <property name="filters" value="${jdbc.filters}" />  
  39.     </bean>  
  40.     <!--daoSupport-->  
  41.     <bean id="jldaoSupport" class="com.jl.net.framework.dao.support.JLDeDaoSupport">  
  42.         <property name="dataSource" ref="dataSource"/>  
  43.     </bean>  
  44.       
  45.     <bean id = "transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  46.         <property name="dataSource" ref="dataSource" />  
  47.     </bean>  
  48.       
  49.     <!-- 声明式事务配置 -->  
  50.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  51.         <tx:attributes>  
  52.             <tx:method name="add*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  53.             <tx:method name="begin*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  54.             <tx:method name="end*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  55.             <tx:method name="update*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  56.             <tx:method name="del*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  57.             <tx:method name="do*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  58.             <tx:method name="save*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  59.             <tx:method name="modify*" propagation="REQUIRED" rollback-for="Throwable, Exception, RuntimeException"/>  
  60.             <tx:method name="query*" propagation="NOT_SUPPORTED"/>  
  61.             <tx:method name="get*" propagation="NOT_SUPPORTED"/>  
  62.             <tx:method name="load*" propagation="NOT_SUPPORTED"/>  
  63.             <tx:method name="find*" propagation="NOT_SUPPORTED"/>  
  64.             <tx:method name="*" read-only="true" propagation="SUPPORTS" />  
  65.         </tx:attributes>  
  66.     </tx:advice>  
  67.     <!-- 内部服务 -->  
  68.     <aop:config>  
  69.         <aop:pointcut expression="execution(* com.jl.net..service.*.*(..))" id="pointCut" />  
  70.         <aop:advisor  pointcut-ref="pointCut" advice-ref="txAdvice"/>  
  71.     </aop:config>  
  72.     <!-- 对外服务 -->  
  73.     <aop:config>  
  74.         <aop:pointcut expression="execution(* com.jl.net..service.soa.*.*(..))" id="pointCut_soa" />  
  75.         <aop:advisor  pointcut-ref="pointCut_soa" advice-ref="txAdvice"/>  
  76.     </aop:config>  
  77.     <!-- JMS -->  
  78.     <aop:config>  
  79.         <aop:pointcut expression="execution(* com.jl.net..service.jms.receiver.*.*(..))" id="pointCut_jms" />  
  80.         <aop:advisor  pointcut-ref="pointCut_jms" advice-ref="txAdvice"/>  
  81.     </aop:config>  
  82.   
  83.     <!-- 定义过滤器 -->  
  84.     <bean id="encode" class="com.jl.net.framework.web.filter.JLEncoderFilter">  
  85.         <property name="encode" value="UTF-8" />  
  86.     </bean>  
  87. </beans>  

 

   3、SpringMVC配置

 

Springmmc.xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  6.         http://www.springframework.org/schema/beans/spring-beans.xsd  
  7.         http://www.springframework.org/schema/context   
  8.         http://www.springframework.org/schema/context/spring-context.xsd   
  9.         http://www.springframework.org/schema/mvc  
  10.         http://www.springframework.org/schema/mvc/spring-mvc.xsd">  
  11.           
  12.     <context:component-scan base-package="com.jl.net.*.web.controller"/>  
  13.     <!-- mvc -->  
  14.     <context:annotation-config />  
  15.     <!-- 使用ConfigurableWebBindingInitializer注册conversionService -->  
  16.     <bean id="conversionService" class="com.jl.net.framework.converter.suport.JLConversionService" init-method="init">  
  17.         <property name="converters">  
  18.             <set>  
  19.                 <bean class="com.jl.net.framework.converter.JLStringToTimestampConverter">  
  20.                     <property name="formarts">  
  21.                         <props>  
  22.                             <prop key="^\\d{4}-\\d{1,2}$">yyyy-MM</prop>  
  23.                             <prop key="^\\d{4}-\\d{1,2}-\\d{1,2}$">yyyy-MM-dd</prop>  
  24.                             <prop key="^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}$">yyyy-MM-dd hh-mm</prop>  
  25.                             <prop key="^\\d{4}-\\d{1,2}-\\d{1,2} {1}\\d{1,2}:\\d{1,2}:\\d{1,2}$">yyyy-MM-dd hh-mm-ss</prop>  
  26.                         </props>  
  27.                     </property>  
  28.                 </bean>  
  29.             </set>  
  30.         </property>  
  31.     </bean>  
  32.     <bean id="webBindingInitializer" class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">    
  33.         <property name="conversionService" ref="conversionService"/>    
  34.     </bean>  
  35.     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">    
  36.         <property name="webBindingInitializer" ref="webBindingInitializer"/>    
  37.     </bean>  
  38.       
  39.     <!-- 根据后缀 支持多视图处理器 -->  
  40.         <!-- 根据客户端的不同的请求决定不同的view进行响应, 如 /blog/1.json /blog/1.xml -->  
  41.     <bean id="viewResolver" class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">  
  42.         <!-- 设置为true以忽略对Accept Header的支持 -->  
  43.         <property name="ignoreAcceptHeader" value="true" />  
  44.         <!-- 在没有扩展名时即: "/blog/1" 时的默认展现形式 -->  
  45.         <property name="defaultContentType" value="application/json" />  
  46.   
  47.         <!-- 扩展名至mimeType的映射,即 /blog.json => application/json -->  
  48.         <property name="mediaTypes">  
  49.             <map>  
  50.                 <entry key="html" value="text/html" />  
  51.                 <entry key="jsp" value="text/html" />  
  52.                 <entry key="pdf" value="application/pdf" />  
  53.                 <entry key="xsl" value="application/vnd.ms-excel" />  
  54.                 <entry key="xslx" value="application/vnd.ms-excel" />  
  55.                 <entry key="xml" value="application/xml" />  
  56.                 <entry key="json" value="application/json" />  
  57.             </map>  
  58.         </property>  
  59.   
  60.         <!-- 用于开启 /blog/123?format=json 的支持 -->  
  61.         <property name="favorParameter" value="true" />  
  62.         <!-- 视图解析器 -->  
  63.         <property name="viewResolvers">  
  64.             <list>  
  65.                 <!-- jsp解析 -->  
  66.                 <ref bean="jspRseolver"/>  
  67.                 <ref bean="beanRseolver"/>  
  68.             </list>  
  69.         </property>  
  70.         <property name="defaultViews">  
  71.             <list>  
  72.                 <!-- for application/json -->  
  73.                 <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />  
  74.             </list>  
  75.         </property>  
  76.     </bean>  
  77.       
  78.     <!-- 声明视图解析的对象 -->  
  79.     <bean id="beanRseolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" />  
  80.     <bean id="multipartRseolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  81.         <property name="maxUploadSize" value="5000000" />  
  82.     </bean>  
  83.     <bean id="jspRseolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  84.         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />  
  85.         <property name="prefix" value="/WEB-INF/jsp/" />  
  86.         <property name="suffix" value=".jsp"></property>  
  87.     </bean>  
  88.       
  89.       
  90.     <!-- 转向异常处理页面 -->  
  91.     <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">    
  92.         <!-- 定义默认的异常处理页面,当该异常类型的注册时使用 -->    
  93.         <property name="defaultErrorView" value="error/error" />    
  94.         <!-- 定义异常处理页面用来获取异常信息的变量名,默认名为exception -->    
  95.         <property name="exceptionAttribute" value="ex" />    
  96.         <!-- 定义需要特殊处理的异常,用类名或完全路径名作为key,异常也页名作为值 -->    
  97.         <property name="exceptionMappings">    
  98.             <props>  
  99.                  <!-- 这里还可以继续扩展对不同异常类型的处理 -->  
  100.                 <prop key="com.jl.net.framework.exception.ValidateException">/error/error</prop>    
  101.                 <prop key="com.jl.net.framework.exception.SessionException">/error/login</prop>    
  102.             </props>    
  103.         </property>    
  104.     </bean>    
  105.       
  106.       
  107.   
  108.     <!-- 输出对象转String支持 -->  
  109.     <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter">  
  110.         <property name="supportedMediaTypes">  
  111.             <list>  
  112.                 <value>text/plain;charset=UTF-8</value>  
  113.             </list>  
  114.         </property>  
  115.     </bean>  
  116.     <!-- 输出对象转JSON支持 -->  
  117.     <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />  
  118.     <bean id="byteArrayConverter" class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />  
  119.     <bean id="resourceConverter" class="org.springframework.http.converter.ResourceHttpMessageConverter" />  
  120.     <bean id="sourceConverter" class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />  
  121.     <bean id="xmlAwareFormConverter" class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" />  
  122.     <bean id="jaxb2RootElementConverter" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" />  
  123.       
  124.       
  125.     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
  126.         <property name="messageConverters">  
  127.             <list>  
  128.                 <ref bean="stringConverter" />  
  129.                 <ref bean="jsonConverter" />  
  130.                 <ref bean="byteArrayConverter" />  
  131.                 <ref bean="resourceConverter" />  
  132.                 <ref bean="sourceConverter" />  
  133.                 <ref bean="xmlAwareFormConverter" />  
  134.                 <ref bean="jaxb2RootElementConverter" />  
  135.             </list>  
  136.         </property>  
  137.     </bean>  
  138.     <!-- URL映射管理器 -->  
  139.     <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">  
  140.         <property name="order" value="0"/>    
  141.         <property name="useDefaultSuffixPattern" value="true"/>   
  142.         <!-- 拦截器 -->  
  143.         <property name="interceptors">  
  144.             <list>  
  145.                 <!--会话管理的拦截器 -->  
  146.                 <ref bean="userInfoInterceptor"/>  
  147.             </list>  
  148.         </property>  
  149.     </bean>  
  150.     <bean id="userInfoInterceptor" class="com.jl.net.framework.web.interceptor.UserInfoInterceptor" />  
  151.     <!--   
  152.     <mvc:interceptors>  
  153.         <mvc:interceptor>  
  154.             <mvc:mapping path="/*"/>  
  155.             <ref bean="securityInterceptor"/>  
  156.         </mvc:interceptor>  
  157.         <mvc:interceptor>  
  158.             <mvc:mapping path="/*"/>  
  159.             <ref bean="userInfoInterceptor"/>  
  160.         </mvc:interceptor>  
  161.     </mvc:interceptors>  
  162.      -->  
  163. </beans>  

 

 完成以上操作一个完整的SpringMVC项目就创建完成了!

0 0