You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 1.5.8版本配置Interceptor拦截器无法接收请求问题咨询

问题原因与解决方案

核心结论

该问题主要由主启动类上的@EnableWebMvc注解导致,同时可能存在配置类未被扫描的额外风险

具体原因说明

  1. @EnableWebMvc的影响

Spring Boot 默认会自动完成Web MVC相关的默认配置,包括自动扫描注册所有WebMvcConfigurer实现类中的拦截器、资源映射等规则。
一旦你在主类上加了@EnableWebMvc,就意味着你要完全接管Spring MVC的配置,Spring Boot提供的所有Web自动配置会全部失效,这时候你单独定义在TestConfiguration中的拦截器注册逻辑不会被自动加载,自然无法生效。
2. ### 其他可能的配置遗漏
如果TestConfiguration配置类不在主启动类TestApplication所在的包或其子包下,@SpringBootApplication默认的组件扫描规则无法扫描到该配置类,就算没有@EnableWebMvc注解,拦截器也不会生效。

修复方案

方案1(推荐):直接移除主启动类上的@EnableWebMvc注解

移除注解后Spring Boot的Web自动配置会恢复正常,只要你的TestConfiguration被组件扫描到,你配置的全局拦截器就会生效。

方案2:保留@EnableWebMvc时的适配调整

如果你确实需要完全自定义Web MVC配置必须保留@EnableWebMvc,可以二选一调整:

  • 把拦截器注册逻辑迁移到主启动类中,让主类继承WebMvcConfigurerAdapter重写addInterceptors方法,直接在主类中注册拦截器
  • 显式指定组件扫描路径,在主启动类上添加@ComponentScan(basePackages = "TestConfiguration所在的包全路径"),保证配置类被Spring加载

内容的提问来源于stack exchange,提问作者Aditya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:06:04