【发布时间】:2014-04-11 14:38:02
【问题描述】:
我还需要扩展 WebMvcConfigurationSupport 类修改两件事:
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Override
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
RequestMappingHandlerMapping handlerMapping = super.requestMappingHandlerMapping();
handlerMapping.setRemoveSemicolonContent(false);
handlerMapping.setOrder(1);
return handlerMapping;
}
}
我喜欢从 WebMvcAutoConfiguration 类注册的默认值,但由于类上的条件注释,当我扩展 WebMvcConfigurationSupport 类时,它会阻止自动配置发生。
@Configuration
@ConditionalOnWebApplication
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class,
WebMvcConfigurerAdapter.class })
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
@Order(Ordered.HIGHEST_PRECEDENCE + 10)
@AutoConfigureAfter(DispatcherServletAutoConfiguration.class)
public class WebMvcAutoConfiguration {...}
是否可以加载 WebMvcAutoConfiguration 类而无需复制/粘贴该类中的大部分代码?
或者是否可以从其他地方调用 RequestMappingHandlerMapping setOrder() 和 setRemoveSemicolonContent(),这样我就可以使用 @EnableWebMvc 注释并让自动配置类运行没有任何问题?
提前致谢!
【问题讨论】:
标签: java spring spring-mvc spring-boot