在开发web项目的时候,我们需要HandlerMapper和HandlerAdapter,不同的mapper规定了我们在查找handler时的行为,可以根据bean的name寻找我们的handler等,不同adapter规定我们怎样定义handle,可以实现controller等。我们可以在配置文件中的配置
非注解的配置
<span style="font-size:14px;"><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /></span><pre name="code" class="html"><span style="font-size:14px;"><bean class="<span style="font-family: Arial, Helvetica, sans-serif;">org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter</span>" /></span>
注解的配置
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping注解映射器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping注解映射器。
在spring3.1之前使用org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter注解适配器。
在spring3.1之后使用org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter注解适配器。
推荐一下方式的注解配置
<pre name="code" class="html"> <mvc:annotation-driven></mvc:annotation-driven>
<span style="font-family: Arial, Helvetica, sans-serif;"><!-- 使用 mvc:annotation-driven代替上边注解映射器和注解适配器配置</span><pre name="code" class="html">mvc:annotation-driven默认加载很多的参数绑定方法,
比如json转换解析器就默认加载了,如果使用mvc:annotation-driven不用配置上边的RequestMappingHandlerMapping和RequestMappingHandlerAdapter
实际开发时使用mvc:annotation-driven
-->
当然我们也可以不用配置或者是配置多个都行mapper和adapter,在不配置的情况下会使用DispatcherSerlvet.properties属性文件下的默认配置