创建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后置处理器