setBeanName和setApplicationContext的调用顺序
如何确定setBeanName一定在setApplicationContext之前调用呢?
如何确定setBeanName一定在setApplicationContext之前调用呢?
2015-12-10
这两个方法的触发位置不一样,其中setBeanName是initialilizeBean方法中的invokeAwareMethods执行的,他会查看bean是否实现各自aware接口,其中就有setbeanName方法的
在执行完invokeAwareMethods之后,后续的applyBeanPostProcessorsBeforeInitialization中,会使用到不同的BPP去调用实例化的后续操作,其中就有使用ApplicationContextAwareProcessor这个BPP去调用setApplicationContext完成上下文applicationContext的填充
举报