启用Java配制
参考文章
Enabling the MVC Java Config or the MVC XML Namespace
正文
要启用MVC的Java配制,要在你的一个标记有@Configuration
类上添加@EnableWebMvc
注解
@Configuration
@EnableWebMvc
public class WebConfig {
}
在XML文件中达到相同的目的,你可以在你的DispatcherServlet的上下文(如果DispatcherServlet上下文没有定义,则在根上下文中)中添加mvc:annotation-driven
@EnableWebMvc
和mvc:annotation-driven
的作用
注册了一个RequestMappingHandlerMapping
, 一个RequestMappingHandlerAdapter
,一个ExceptionHandlerExceptionResolver
以支持例如标记有@RequestMapping
或@ExceptionHandler
等注解的控制器方法来处理请求。
其也激活了下面的配制:
1. 通过ConversionService
实例注册Spring3风格的数据绑定而不是使用JavaBeans PropertyEditors
。
2. 通过ConversionService
支持使用@NumberFormat
格式化数字。
3. 使用@DateTimeFormat
来格式化Date
, Calendar
, Long
。
4. 如果JSR-303的提供者在类路径中出现,支持使用@Valid
校验@Controller
。
5. HttpMessageConverter
支持标记有@RequestMapping
或@ExceptionHandler
方法的@RequestBody
参数和@ResponseBody
方法返回值。
下面是HttpMessageConverters完整的设置
- ByteArrayHttpMessageConverter 转换二进制数据。
- StringHttpMessageConverter转换字符串。
- ResourceHttpMessageConverter转换来自
org.springframework.core.io.Resource
所有媒体类型。 - SourceHttpMessageConverter转换
javax.xml.transform.Source
。 - FormHttpMessageConverter转换数据从
MultiValueMap<String, String>
。 - Jaxb2RootElementHttpMessageConverter 转换 Java对象到XML – 如果JAXB2出现,而Jackson 2 XML extension没有出现则添加该转换器
- MappingJackson2HttpMessageConverter 转换JSON – 如果Jackson 2在类路径上出现则添加。
- MappingJackson2XmlHttpMessageConverter转换XML – 如果Jackson 2 XML extension 在类路径中出现则添加
- AtomFeedHttpMessageConverter 转换 Atom – 如果Rome在类路径中出现则添加
- RssChannelHttpMessageConverter 转换 RSS – 如果Rome在类路径中出现则添加