SpringBoot拦截器中无法注入bean的解决方法

时间:2022-05-22 09:12:07

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