Java配置中忽略了Spring MVC HandlerInterceptor
我正在尝试将Spring项目从XML转换为Java配置,并且遇到了以下HandlerInterceptors问题: XML配置(工作): 根据文档,这两种配置应该是等效的,但是在Java配置示例中,从来没有调用过pre或post handle方法 我错过了什么Java配置中忽略了Spring MVC HandlerInterceptor,spring,spring-mvc,Spring,Spring Mvc,我正在尝试将Spring项目从XML转换为Java配置,并且遇到了以下HandlerInterceptors问题: XML配置(工作): 根据文档,这两种配置应该是等效的,但是在Java配置示例中,从来没有调用过pre或post handle方法 我错过了什么 谢谢。这是我自己的错。我在MVC Java配置中重写了requestMappingHandlerMapping(),并且没有在自定义HandlerMapping类上设置拦截器属性 @Bean @Override public Reques
谢谢。这是我自己的错。我在MVC Java配置中重写了
requestMappingHandlerMapping()
,并且没有在自定义HandlerMapping
类上设置拦截器属性
@Bean
@Override
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
CustomRequestHandlerMapping handlerMapping = new CustomRequestHandlerMapping();
handlerMapping.setOrder(0);
handlerMapping.setInterceptors(getInterceptors()); // <-- This was missing
return handlerMapping;
}
@Bean
@凌驾
public RequestMappingHandlerMapping RequestMappingHandlerMapping(){
CustomRequestHandlerMapping handlerMapping=新建CustomRequestHandlerMapping();
handlerMapping.setOrder(0);
handlerMapping.setInterceptors(getInterceptors());//在这里工作正常。您是否使用了调试器或在代码中添加了跟踪,以确保已加载MvcConfig类,并且addInterceptors方法名为?@JBNizet Yes。我在调用registry.addInterceptor()之前/之后添加了调试日志记录尝试将@EnableWebMvc添加到MvcConfig类中。请参阅
@Configuration
public class MvcConfig extends WebMvcConfigurationSupport {
@Override
protected void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyHandlerInterceptor());
}
// ...
}
@Bean
@Override
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
CustomRequestHandlerMapping handlerMapping = new CustomRequestHandlerMapping();
handlerMapping.setOrder(0);
handlerMapping.setInterceptors(getInterceptors()); // <-- This was missing
return handlerMapping;
}