<mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。<mvc:annotation-driven /> 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
后面,我们处理响应ajax请求时,就使用到了对json的支持。
后面,对action写JUnit单元测试时,要从spring IOC容器中取DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,来完成测试,取的时候要知道是<mvc:annotation-driven />这一句注册的这两个bean。

 


​<context:annotation-config>​​​ declares support for general annotations such as ​​@Required​​​, ​​@Autowired​​​, ​​@PostConstruct​​, and so on.

​<mvc:annotation-driven />​​​ is actually rather pointless. It declares explicit support for annotation-driven MVC controllers (i.e.​​@RequestMapping​​​, ​​@Controller​​, etc), even though support for those is the default behaviour.

My advice is to always declare ​​<context:annotation-config>​​​, but don't bother with ​​<mvc:annotation-driven />​​ unless you want JSON support via Jackson.