拦截器注入Service为null的问题的原因及解决方法

157 阅读1分钟

拦截器注入Service为null的问题的原因及解决方法


一、出现的异常

​ 最近做了一个项目,需要在拦截器中注入Service来检验用户的访问权限,然后启动加载拦截器就报了空指针异常的错误。 ​​​在这里插入图片描述 在这里插入图片描述

二、Service为null的原因

可以从上图中发现,报了Service为null的异常,然后我上网查了一下资料,发现了Service为空的原因:拦截器加载的时间点在SpringContext之前,导致Service自然注入为null

三、解决方法

使拦截器提前暴露,交给Spring容器来管理

3.1 使用@Bean注解创建一个方法注册拦截器的Bean并返回

3.2 将返回的Bean实例加入到拦截器的注册中

在这里插入图片描述