【问题记录】ApplicationContextAware 注入为空的问题

发布时间 2023-09-07 21:16:00作者: 酷酷-

1  前言

今天在关于流程的群里发现有人问这个问题,简单来记录下哈,也就是 Aware 注入的时候为什么会为空呢?

有的人说 static 的应该类名.进行等于,也有人说是类上的注解应该是@Component 不应该是 @Service,那我们来看看。

2  剖析

首先关于注解的 @Service 在这里可以理解为 跟@Component 是等价的,所以不用纠结注解的问题。

其实大家可以看那行代码,applicationContext = applicationContext; 这行是灰色的,也就是说无用的代码,我们写个例子,

其实看一下编译后的 .class 文件大家就知道为什么不起作用了

编译后,那行无用代码已经没了,所以问题找到啦,SpringUtil.applicationContext = applicationContext; 这么写没问题。遇到问题,解决问题,究其原因哈