ApplicationContextAware得到ApplicationContext的原理

Posted pc_m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ApplicationContextAware得到ApplicationContext的原理相关的知识,希望对你有一定的参考价值。

Spring中,普通bean可以通过实现ApplicationContextAware得到ApplicationContext,需要重写setApplicationContext和getApplicationContext两个方法。我们知道,是通过setApplicationContext将spring的当前的applicationContext得到,那么spring是什么时候执行setApplicationContext方法的呢?

      Spring源码中ApplicationContextAwareProcessor.postProcessBeforeInitialization(),对继承自ApplicationContextAware的bean进行处理,调用其setApplicationContext。而ApplicationContextAwareProcessor是在spring容器start的时候生成的。

以上是关于ApplicationContextAware得到ApplicationContext的原理的主要内容,如果未能解决你的问题,请参考以下文章

ApplicationContextAware快速获取bean

Spring初始化ApplicationContext为null

Spring ApplicationContextAware获取上下文

通过ApplicationContextAware加载Spring上下文环境

ApplicationContextAware 的 setApplicationContext() 方法执行逻辑全解析

ApplicationContextAware 接口