Spring中,普通bean可以通过实现ApplicationContextAware得到ApplicationContext,需要重写setApplicationContext和getApplicationContext两个方法。我们知道,是通过setApplicationContext将spring的当前的applicationContext得到,那么spring是什么时候执行setApplicationContext方法的呢?
Spring源码中ApplicationContextAwareProcessor.postProcessBeforeInitialization(),对继承自ApplicationContextAware的bean进行处理,调用其setApplicationContext。而ApplicationContextAwareProcessor是在spring容器start的时候生成的。

本文深入探讨了Spring框架中ApplicationContextAware接口的setApplicationContext方法何时被调用,以及其在Spring容器启动过程中的作用。通过源码分析,揭示了Spring在初始化阶段如何管理并提供ApplicationContext实例给实现此接口的bean,从而实现依赖注入。
1028

被折叠的 条评论
为什么被折叠?



