拦截其中注解@Value(“${}”) 获取配置文件中的值获取不到,打印出来为null。
问题描述:
在其它Controller层、Service层等打上依赖注入的类中可以正常通过@Value获取到配置文件中的值,而在拦截器中却不行。
原因:
在拦截器配置中,拦截器是手动new出来的,拦截器中的注解注入@Value并未得到处理 (因为springboot的加载顺序导致注解@value先与new出来对象,所以获取不到值,为null)。
拦截器配置修改前:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b7ca3eea6264e5594744d757c02c4d82.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7e6ea54d777c47c23554ffa36d814cb9.png)
拦截器配置修改后:![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a96dd0b8e2af3d64d258362ed8cac7a9.png)
通过注入的方式替代new方式,在拦截器中就可以正常获取到配置文件中的值了。