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注释