【问题记录】ApplicationContextAware 注入为空的问题
1 前言
今天在关于流程的群里发现有人问这个问题,简单来记录下哈,也就是 Aware 注入的时候为什么会为空呢?
有的人说 static 的应该类名.进行等于,也有人说是类上的注解应该是@Component 不应该是 @Service,那我们来看看。
2 剖析
首先关于注解的 @Service 在这里可以理解为 跟@Component 是等价的,所以不用纠结注解的问题。
其实大家可以看那行代码,applicationContext = applicationContext; 这行是灰色的,也就是说无用的代码,我们写个例子,
其实看一下编译后的 .class 文件大家就知道为什么不起作用了
编译后,那行无用代码已经没了,所以问题找到啦,SpringUtil.applicationContext = applicationContext; 这么写没问题。遇到问题,解决问题,究其原因哈