为了账号安全,请及时绑定邮箱和手机立即绑定

setBeanName和setApplicationContext的调用顺序

如何确定setBeanName一定在setApplicationContext之前调用呢?

正在回答

3 回答

这两个方法的触发位置不一样,其中setBeanName是initialilizeBean方法中的invokeAwareMethods执行的,他会查看bean是否实现各自aware接口,其中就有setbeanName方法的

在执行完invokeAwareMethods之后,后续的applyBeanPostProcessorsBeforeInitialization中,会使用到不同的BPP去调用实例化的后续操作,其中就有使用ApplicationContextAwareProcessor这个BPP去调用setApplicationContext完成上下文applicationContext的填充




0 回复 有任何疑惑可以回复我~

和我的问题一样,不太清楚为什么setBeanName方法一定会在setApplicationContext之前调用

0 回复 有任何疑惑可以回复我~

恩? 没见过的问题啊    帮顶一下

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

setBeanName和setApplicationContext的调用顺序

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信