Spring启动时,核心方法 AbstractApplicationContext#refresh() 的重要方法finishBeanFactoryInitialization() 就是创建并实例化bean。在方法 DefaultListableBeanFactory#preInstantiateSingletons() 里实现。
其主要流程如下:
从beanDefinitionNames 缓存中获取所有的bean定义的bean名称,然后对每一个bean定义进行下面的操作:
Spring启动时,核心方法 AbstractApplicationContext#refresh() 的重要方法finishBeanFactoryInitialization() 就是创建并实例化bean。在方法 DefaultListableBeanFactory#preInstantiateSingletons() 里实现。
其主要流程如下:
从beanDefinitionNames 缓存中获取所有的bean定义的bean名称,然后对每一个bean定义进行下面的操作: