Spring 容器初始化流程
2021-10-26 10:19:25 0 举报
Spring 容器初始化流程大纲
作者其他创作
大纲/内容
Spring 容器运行流程
处理用户自己通过add*()方法添加到容器内的实现 和一些环境的工作的准备
调用registerBeanPostProcessors(beanFactory)
调用initMessageSource()
DefaultListableBeanFactory就是我们常说的Bean工厂的实现
准备Bean工厂的上下文信息和一些属性的设置
初始化国际化相关的环境
把Class注册到Spring容器中的过程
实例化所有还未被实例化的单例Bean
刷新BeanFactory 并返回 BeanFactory对象 这里的BeanFactory对象就是我们在前面创建的DefaultListableBeanFactory
用于让子容器来对Bean工厂进行后置处理
Spring定义的一个Bean的扫描器没有用到
调用 obtainFreshBeanFactory()
初始化子容器中特殊的对象
调用registerListeners()
调用postProcessBeanFactory(beanFactory)
调用 finishRefresh()
调用 register(Class<?>... componentClasses)
检查和注册事件相关的Bean
调用invokeBeanFactoryPostProcessors()
调用 prepareRefresh()
创建 DefaultListableBeanFactory
调用onRefresh()()
实例并执行所有的 BeanFactoryPostProcessor的接口实现,
发布相对应监听的事件
实例化容器中所有的BeanPostProcessor接口的实现
创建 AnnotatedBeanDefinitionReader
创建 ClassPathBeanDefinitionScanner
调用 prepareBeanFactory(beanFactory)
0 条评论
下一页