在Springboot攔截器Interceptor中使用@Resource依賴注入時,發現運行的時候被註解的對象竟然是null,沒被注入進去ide
原配置爲:spa
@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映射這個攔截器前,把攔截器中的依賴注入給完成了。code
修改配置:對象
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {
@Bean
public UserInterceptor userInterceptor() {
return new UserInterceptor();
}
@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(userInterceptor()) .addPathPatterns("/**") .excludePathPatterns("/login/**", "/logout/**", "/loginPage/**", "/error/**"); super.addInterceptors(registry); }}