创建Bean入口:
org.springframework.context.support.AbstractApplicationContext#refresh

进入finishBeanFactoryInitialization方法:

进入beanFactory.preInstantiateSingletones方法:

继续跟踪下去,进到org.springframework.beans.factory.support.AbstractBeanFactory#doGetBean方法,直接找到方法中创建Bean的位置:

继续跟踪下去,org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#createBean,

进入doCreateBean方法,在该方法中,我们需要关注两个方法
-
创建Bean,但是未设置属性

-
给Bean填充属性,并调用初始化方法,调用BeanPostProcessor后置处理器

本文详细剖析了Spring框架中Bean的创建流程,从AbstractApplicationContext的refresh方法开始,逐步深入到finishBeanFactoryInitialization,再到AbstractBeanFactory的doGetBean和AbstractAutowireCapableBeanFactory的doCreateBean方法。在doCreateBean方法中,重点讨论了如何无属性创建Bean以及后续如何填充属性并调用初始化方法及BeanPostProcessor后置处理器。这一深入解析对于理解和优化Spring应用的性能至关重要。
836

被折叠的 条评论
为什么被折叠?



