自定義WebMvcRegistrations無效
現象:問題出現在一個由spring-mvc老工程改造成spring boot項目中,在Application.java類中通過@ImportResource(“classpath:applicationContext-*.xml”)把xml的配置實例化,下面的自定義webmvc注入器無效
@Bean
public WebMvcRegistrations feignWebRegistrations() {
return new WebMvcRegistrations() {
@Override
public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
return new FeignRequestMappingHandlerMapping();
}
};
}
private static class FeignRequestMappingHandlerMapping extends RequestMappingHandlerMapping {
@Override
protected boolean isHandler(Class<?> beanType) {
return super.isHandler(beanType) &&
!AnnotatedElementUtils.hasAnnotation(beanType, FeignClient.class);
}
}
原因:resources目錄下有一個applicationContext-mvc.xml文件,裏面有<mvc:annotation-driven/>這個配置,網上查詢這是一個神奇的標籤
解決方案:刪除applicationContext-mvc.xml文件或者去掉<mvc:annotation-driven/>註解