1. 加载 ApplicationContextInializer & ApplicationListener
2. 初始化环境 ConfigurableEnvironment & 加载配置文件
3. 构建应用上下文 ApplicationContext
4. 通过 ApplicationListener 注册 BeanFactoryPostProcessor
5. 初始化 BeanFactoryPostProcessor 到 IoC 容器
6. 通过 BeanFactoryPostProcessor: ConfigurationClassParser 扫描注册所有组件(包括: @Bean @Configuration, @Imports) 到 IoC 容器
7. 注册拦截 bean 创建的 bean processors
8. createEmbededServletContainer: 通过内置的 Servlet 容器工厂创建内置 Servlet 容器
9. 初始化所有未初始化的单例 BeanDefinitions 到 Ioc 容器
10. 启动内置 Servlet 容器
11. 完成