的javadoc of @EnableWebMvc
狀態
添加此批註的@Configuration
類導入Spring MVC從WebMvcConfigurationSupport
配置[...]
其中WebMvcConfigurationSupport
此類註冊以下HandlerMappings
:
RequestMappingHandlerMapping
下令在0℃將請求映射到註釋的控制器的方法。
HandlerMapping
在1處排序以將URL路徑直接映射到查看名稱。
BeanNameUrlHandlerMapping
在2處排序以將URL路徑映射到控制器bean名稱。
HandlerMapping
在Integer.MAX_VALUE-1
處訂購以提供靜態資源請求。
HandlerMapping
在Integer.MAX_VALUE
處訂購將請求轉發到默認的servlet。
這就是RequestMappingHandlerMapping
的來源。這種「默認」配置或多或少等同於在XML配置中指定
<mvc:annotation-driven />
。
如果你想聲明一個DefaultAnnotationHandlerMapping
(按順序)RequestMappingHandlerMapping
,然後聲明你自己的bean並將它的順序設置得更低。
@Bean
public DefaultAnnotationHandlerMapping defaultAnnotationHandlerMapping() {
DefaultAnnotationHandlerMapping defaultAnnotationHandlerMapping = new DefaultAnnotationHandlerMapping();
defaultAnnotationHandlerMapping.setOrder(-1);
// and other properties
return defaultAnnotationHandlerMapping;
}
如果你想這是在DispatcherServlet
註冊的唯一HandlerMapping
,然後命名豆"handlerMapping"
和DispatcherServlet#detectAllHandlerMappings
屬性設置爲false
。
什麼是您的原始XML配置? –