setBeanName和setApplicationContext的调用顺序

来源:3-3 Spring Bean装配之Aware接口

zengq

2015-12-10 23:20

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

写回答 关注

3回答

  • 哈哈吧
    2018-08-17 10:50:25

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

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




  • Music祐铒钉
    2016-04-21 16:46:12

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

  • 慕i男神
    2015-12-10 23:53:02

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

Spring入门篇

为您带来IOC和AOP的基本概念及用法,为后续高级课程学习打下基础

268773 学习 · 963 问题

查看课程

相似问题