springmvc配置之mvc:annotation-driven

为了简化springmvc配置,spring同时引入了mvc namespace, 配置了

spring会默认注册a RequestMappingHandlerMapping, a RequestMappingHandlerAdapter, and an ExceptionHandlerExceptionResolver 三个bean, 来支持使用注解(@RequestMapping、@ExceptionHandler、@Controller等)修饰的controller处理请求。同时还有以下一些特性:

1、 Spring 3 style type conversion through a ConversionService instance in addition to the JavaBeans PropertyEditors used for Data Binding.
2、 Support for formatting Number fields using the @NumberFormat annotation through the ConversionService.
3、 Support for formatting Date, Calendar, Long, and Joda-Time fields using the @DateTimeFormat annotation.
4、 Support for validating @Controller inputs with @Valid, if a JSR-303 Provider is present on the classpath.
5、 HttpMessageConverter support for @RequestBody method parameters and @ResponseBody method return values from @RequestMapping or @ExceptionHandler methods.This is the complete list of HttpMessageConverters set up by mvc:annotation-driven:

     a.   ByteArrayHttpMessageConverter converts byte arrays.
     b.  StringHttpMessageConverter converts strings.
     c.  ResourceHttpMessageConverter converts to/from org.springframework.core.io.Resource for all media types.
     d.   SourceHttpMessageConverter converts to/from a javax.xml.transform.Source.
     e.  FormHttpMessageConverter converts form data to/from a MultiValueMap.
     f.  Jaxb2RootElementHttpMessageConverter converts Java objects to/from XML — added if JAXB2 is present and Jackson 2 XML extension is not present on the classpath.
     g.  MappingJackson2HttpMessageConverter converts to/from JSON — added if Jackson 2 is present on the classpath.
     h.  MappingJackson2XmlHttpMessageConverter converts to/from XML — added if Jackson 2 XML extension is present on the classpath.
     i.  AtomFeedHttpMessageConverter converts Atom feeds — added if Rome is present on the classpath.
     j.  RssChannelHttpMessageConverter converts RSS feeds — added if Rome is present on the classpath.

配置示例:

 
        
            
                AllowSingleQuotes
            
        
        
            
                QuoteFieldNames
                WriteEnumUsingToString
                WriteEnumUsingName
                WriteNullNumberAsZero
                SkipTransientField
                WriteDateUseDateFormat
            
        
    

    
    
        
            
                
                    
                        application/json;charset=UTF-8
                        text/html;charset=UTF-8
                        text/json;charset=UTF-8
                    
                
                
            
        
    

引用:
1、 springdoc
2、what's annotation-driven do

转载于:https://www.cnblogs.com/graph/p/8998697.html

你可能感兴趣的:(springmvc配置之mvc:annotation-driven)