1.prepareRefresh : 刷新前的预处理
2.obtainFreshBeanFactory : 获取BeanFactory,默认实现是DefaultListableBeanFactory,加载BeanDefinition并注册到BeanDefinitionRegistry
3.prepareBeanFactory : BeanFactory的预准备工作(BeanFactory进行一些设置)
4.postProcessBeanFactory : BeanFactory准备工作完成后进行的后置处理工作.
5.invokeBeanFactoryPostProcessors : 实例化并调用实现了BeanFactoryPostProcessor接口的Bean中的postProcessBeanFactory方法
6.registerBeanPostProcessors : 注册BeanPostProcessor(Bean的后置处理器),在创建bean的前后后等执行
7.initMessageSource : 初始化MessageSource组件(做国际化功能;消息绑定,消息解析);
8.initApplicationEventMulticaster : 初始化事件派发器
9.onRefresh : 子类重写这个方法,在容器刷新的时候可以自定义逻辑
10.registerListeners : 注册应用的监听器,就是注册实现了ApplicationListener接口的监听器bean
11.finishBeanFactoryInitialization : 初始化所有剩下的非懒加载的单例bean,初始化创建非懒加载方式的单例Bean实例(未设置属性),
填充属性
初始化方法调用(调用afterPropertiesSet方法,init-method方法)
调用BeanPostProcessor(后置处理器)对实例bean进行后置处理
12.finishRefresh : 完成context的刷新.主要是调用LifecycleProcessor的onRefresh()方法,并发布事件(ContextRefreshedEvent)