Spring中Bean的初始化创建AbastractApplicationContext.FinishBeanFactoryInitialization

AbastractApplicationContext.FinishBeanFactoryInitialization

模版调用子类DefaultListableBeanFacotry.preInstantiateSingletons

通过循环子类DefaultListableBeanFactory中收集到的所有beanDefinitionNames,对满足条件的Bean进行初始化,

getBean操作会调用父类AbstractBeanFactory.doGetBean方法

DefualtSingletonBeanRegistry.getSingleton,传入了一个匿名SingletonFactory对象,并调用getObject方法,也就是AbstractAutowireCapableBeanFactory.createBean方法,继续调用doCreateBean,在该类中对Bean进行构建、初始化、注入到DefaultSingletonBeanRegistry的singletonObjects缓存中。

posted @ 2024-06-16 13:19  vello  阅读(22)  评论(0)    收藏  举报