SpringBoot拦截器中无法注入bean的解决方法
SpringBoot拦截器中无法注入bean的解决方法
在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用
但是如果直接注入会发现无法注入而报空指针异常
解决方法:
在注册拦截器时,将拦截器注入为bean
代码:
@Configuration public class InterceptorRegister extends WebMvcConfigurerAdapter { //以这种方式将拦截器注入为一个bean,可以防止拦截器中无法注入bean的问题出现 @Bean public ApiInterceptor apiInterceptor(){ return new ApiInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(apiInterceptor()).addPathPatterns("/api/**"); super.addInterceptors(registry); } }
注意:要在拦截器上加上@Component注释