ApplicationContextAware得到ApplicationContext的原理

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

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

posted @ 2020-07-11 17:52  pc_m  阅读(352)  评论(0编辑  收藏  举报