springboot 怎么注入自定义interceptor

2025-12-14 21:06:30
推荐回答(1个)
回答1:

原配置为:

@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {

@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(new UserInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/login/**", "/logout/**", "/loginPage/**", "/error/**");
super.addInterceptors(registry);
}
}

解决:
在Spring添加拦截器之前先自己创建一下这个Spring Bean,这样就能在Spring映射这个拦截器前,把拦截器中的依赖注入给完成了。
修改配置:

@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {

@Bean
public UserInterceptor userInterceptor() {
return new UserInterceptor();
}

@Override
public void addIntercep