是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
这句话我在很多帖子都看到过,我自己的项目本身使用的Spring MVC 3.2,实际上在3.1之后,注册的类发生了变化
Spring Framework 3.1 introduces a new set of support classes for processing requests with annotated controllers:
These classes are a replacement for the existing:
The above registers a?RequestMappingHandlerMapping
, a?RequestMappingHandlerAdapter
, and an?ExceptionHandlerExceptionResolver
?(among others) in support of processing requests with annotated controller methods using annotations such as?@RequestMapping?
,?@ExceptionHandler
, and others.
It also enables the following:
这是摘取的官方文档,可以看出,注册的类已经变成了RequestMappingHandlerMapping和
?RequestMappingHandlerAdapter。
我之前在不知道的时候,使用AnnotationMethodHandlerAdapter 进行配置,结果在有存在的情况下,我自己配置的AnnotationMethodHandlerAdapter 怎么都不起作用,于是去掉了标签,手动注册了AnnotationMethodHandlerAdapter ,和DefaultAnnotationHandlerMapping。结果引发了其他问题,比如文件无法上传的问题。
阅读文档发现Spring提供了基于自定义messageConverters的方法,如下所示:
?
下面展示我自己的配置