在springmvc中有三大组件,分别为:

  • 处理器映射器:​​RequestMappingHandlerMapping​
  • 处理器适配器:​​RequestMappingHandlerAdapter​
  • 视图解析器:​​InternalResourceViewResolver​

其中视图解析器在​​Tomcat​​​启动时​​springmvc​​​会自动帮我们注入到ioc容器中,但是另外两个不会,需要我们手动注入,否则​​springmvc​​处理器映射器和处理器适配器功能将使用不了。

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>

但是springmvc少了这两个组件几乎使用不了,也就是每次都一定要配置的。因此springmvc推出一个配置​​<mvc:annotation-driven/>​​​。写了这个配置springmvc会自动帮我们将那两个组件注入到​​ioc​​​容器中,除此之外还注入了其他一些组件,在​​spring-web-5.0.6.RELEASE​​​中查看​​DispacherServlet.properites​

mvc:annotation-driven 的作用_SpringMVC


除了将这些组件自动的注入到ioc容器之外,同时它还提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB,读写JSON的支持(Jackson)。我们处理响应ajax请求时,就使用到了对json的支持(配置之后,在加入了jackson的core和mapper包之后,不写配置文件也能自动转换成json)