1. 程式人生 > >HandlerMapping和HandlerAdapter配置須知

HandlerMapping和HandlerAdapter配置須知

---------------------siwuxie095

HandlerMapping 和 HandlerAdapter 配置須知

SpringMVC 的核心配置檔案 dispatcher-servlet.xml 中,

HandlerMappingHandlerAdapter 的配置一共有 5 種方

式,具體如下:

方式一:什麼都不配置

SpringMVC 針對這兩者均已有預設配置,詳見 spring-webmvc 的 jar

包中第一個包 org.springframework.web.servlet 中最後一個配置檔案

DispatcherServlet.properties

方式二:僅限XML 方式實現的SpringMVC,配置如下:

BeanNameUrlHandlerMappingSimpleControllerHandlerAdapter

<!-- 配置 HandlerMapping(可選,即可以省略不配置) -->

<beanclass="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

<!-- 配置 HandlerAdapter(可選,即可以省略不配置) -->

<beanclass="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

方式三:僅限註解方式實現的SpringMVC,配置如下:

DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter

<!-- 配置 HandlerMapping(可選,即可以省略不配置) -->

<beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>

<!-- 配置 HandlerAdapter(可選,即可以省略不配置) -->

<beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

「這兩個類都已過期(廢棄),所以不推薦此法」

方式四:僅限註解方式實現的SpringMVC,配置如下:

RequestMappingHandlerMappingRequestMappingHandlerAdapter

<!-- 配置 HandlerMapping(可選,即可以省略不配置) -->

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

<!-- 配置 HandlerAdapter(可選,即可以省略不配置) -->

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

方式五:使用MVC 的註解驅動(此法通用),配置如下:

<!-- 啟用註解驅動 -->

<mvc:annotation-driven/>

原理:詳見 spring-webmvc 的 jar 包中第二個包 org.springframework.web.

servlet.config 中第一個類 AnnotationDrivenBeanDefinitionParser

【made by siwuxie095】