针对springboot项目中拦截器內调用service方法,不起作用的解决办法
出现的问题
1、按照正常逻辑,我们调用service层的方法,可以起作用的 但是,在拦截器中返回空指针。
2、于是在测试类中进行了测试,发现可以正常运行
3、这说明拦截器出了问题
解决办法
我们可以在配置类中加入
@Configuration
public class Myconf implements WebMvcConfigurer {
//这里要这样生成拦截器对象
@Bean
public LoginHandler myLoginHandler(){
return new LoginHandler();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
//这里不能这样写,否则会导致拦截器无法调用 service HandlerInterceptor ha=new LoginHandler();
//这里注意添加的拦截器怎么添加的()方法名
registry.addInterceptor(myLoginHandler()).addPathPatterns("/loginManager");
}
}