<mvc:annotation-driven/>浅析

在Spring中这是一个很简洁的标签。它是对两个bean的简写。

在3.0中是  DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter  ,从3.1开始改成了 RequestMappingHandlerMapping 和 RequestMappingHandlerAdapter

其中,Adapter中注入了一个MessageConverter列表,该列表中又注入了几个经常用到的格式转换,比如XmlHttpMessageConverter/JsonHttpMessageConverter等,详见下面贴来的Spring 3.0.X:

   

 1 <!-- 注解请求映射  -->
 2     <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">        
 3         <property name="interceptors">
 4             <list>  
 5                 <ref bean="logNDCInteceptor"/>   <!-- 日志拦截器,这是你自定义的拦截器 -->
 6             </list>        
 7         </property>        
 8     </bean>      
 9     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
10         <property name="messageConverters">  
11             <list>  
12                 <ref bean="byteArray_hmc" />  
13                 <ref bean="string_hmc" />  
14                 <ref bean="resource_hmc" />  
15                 <ref bean="source_hmc" />  
16                 <ref bean="xmlAwareForm_hmc" />  
17                 <ref bean="jaxb2RootElement_hmc" />  
18                 <ref bean="jackson_hmc" />  
19             </list>  
20         </property>  
21     </bean>  
22     <bean id="byteArray_hmc" class="org.springframework.http.converter.ByteArrayHttpMessageConverter" /><!-- 处理.. -->
23     <bean id="string_hmc" class="org.springframework.http.converter.StringHttpMessageConverter" /><!-- 处理.. -->
24     <bean id="resource_hmc" class="org.springframework.http.converter.ResourceHttpMessageConverter" /><!-- 处理.. -->
25     <bean id="source_hmc" class="org.springframework.http.converter.xml.SourceHttpMessageConverter" /><!-- 处理.. -->
26     <bean id="xmlAwareForm_hmc" class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter" /><!-- 处理.. -->
27     <bean id="jaxb2RootElement_hmc" class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" /><!-- 处理.. -->
28     <bean id="jackson_hmc" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" /><!-- 处理json-->
View Code




原文地址:https://www.cnblogs.com/conserdao/p/6512491.html