启用MVC Java编程配置或MVC命名空间
要启用MVC Java编程配置,你需要在其中一个注解了@Configuration
的类上添加@EnableWebMvc
注解:
要启用XML命名空间,请在你的DispatcherServlet上下文中(如果没有定义任何DispatcherServlet上下文,那么就在根上下文中)添加一个mvc:annotation-driven
元素:
上面的简单的声明代码,就已经默认注册了一个RequestMappingHandlerMapping
、一个RequestMappingHandlerAdapter
,以及一个ExceptionHandlerExceptionResolver
,以支持对使用了@RequestMapping
、@ExceptionHandler
及其他注解的控制器方法的请求处理。
同时,上面的代码还启用了以下的特性:
HTTP消息转换
HttpMessageConverter
的支持,对注解了@RequestMapping
或@ExceptionHandler
方法的@RequestBody
方法参数或@ResponseBody
返回值生效
下面给出了一份由mvc:annotation-driven
注册可用的HTTP消息转换器的完整列表:
转换字节数组的
ByteArrayHttpMessageConverter
转换字符串的
StringHttpMessageConverter
ResourceHttpMessageConverter
:org.springframework.core.io.Resource
与所有媒体类型之间的互相转换SourceHttpMessageConverter
:从(到)javax.xml.transform.Source
的转换FormHttpMessageConverter
:数据与MultiValueMap<String, String>
之间的互相转换Jaxb2RootElementHttpMessageConverter
:Java对象与XML之间的互相转换——该转换器在classpath路径下有JAXB2依赖并且没有Jackson 2 XML扩展时被注册MappingJackson2HttpMessageConverter
:从(到)JSON的转换——该转换器在classpath下有Jackson 2依赖时被注册AtomFeedHttpMessageConverter
:Atom源的转换——该转换器在classpath路径下有Rome时被注册RssChannelHttpMessageConverter
:RSS源的转换——该转换器在classpath路径下有Rome时被注册
该builder会使用以下的默认属性对Jackson进行配置:
同时,如果检测到在classpath路径下存在这些模块,该builder也会自动地注册它们:
Last updated
Was this helpful?