加入拦截器后,拦截器内无法注入service
原来的代码如下
@Configuration
public class MyInterceptorConfigurer implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 拦截所有请求
registry.addInterceptor(new SsoInterceptor()).addPathPatterns("/**");
}
这里不能使用new new SsoInterceptor()的方式添加, 而要通过以下方式
@Configuration
public class MyInterceptorConfigurer implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
registry.addInterceptor(ssoInterceptor()).addPathPatterns("/**");
}
@Bean
public SsoInterceptor ssoInterceptor() {
return new SsoInterceptor();
}
}