一般都是因為除了在攔截器之外,還需要在攔截器的配置類中,注冊攔截器時沒有使用spring的bean,而是使用了new創建bean造成的。
可參考:http://blog.csdn.net/wmh13262227870/article/details/77005920
當然,部分版本也支持以下方式:
@Configurationpublic
class WebInterceptorLoader extends WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter{
//這里可以自動注入下interceptor
@Autowired
private UserAuthInterceptor userAuthInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry){
//注意這里不要使用 new UserAuthInterceptor() ,否則就會出現攔截器里無法注入service的問題
registry.addInterceptor(userAuthInterceptor).addPathPatterns("/**").excludePathPatterns("/components/*/*","/user-auth/quit");
}
}