SpringBoot源码浅析-目录

如下是笔者对Spring/SpringBoot所做的源码分析目录,主要分析了SpringBoot启动的整个流程,Spring容器以及Spring中所管理的bean的整个生命周期。(本文基于SpringBoot 2.1.x分析。)

目录

1 SpringBoot启动流程 详情

1 SpringBoot启动流程
1.1 SpringApplication构造方法初始化
1.1.1 SpringBoot应用类型推断
1.1.2 从spring.factories文件加载初始化器和监听器
1.1.3 解析main方法所在类
1.1.4 SpringBoot中组件排序规则
1.2 springApplication.run(String… arg)方法执行
1.2.1 StopWatch start 开启应用启动计时器
1.2.2 配置java.awt.headless模式
1.2.3 创建SpringApplicationRunListeners
1.2.4 listeners.starting()发布ApplicationStartingEvent
1.2.5 创建ConfigurableEnvironment对象并添加属性值
1.2.6 创建Banner,打印SpringBoot logo
1.2.7 创建ConfigurableApplicationContext
1.2.8 从spring.factories加载SpringBootExceptionReporter
1.2.9 prepareContext为ApplicationContext执行refresh做准备
1.2.10 refreshContext(context) 开始spring容器的生命周期
1.2.11 stopWatch.stop() 停止应用启动计时
1.2.12 listeners发布ApplicationStartedEvent事件
1.2.13 callRunners调用Runner回调接口方法
1.2.14 listeners发布ApplicationReadyEvent事件

2.Spring容器生命周期 详情

2.Spring容器生命周期
2.1 调用prepareRefresh() 方法激活容器
2.2 设置ConfigurableListableBeanFactory对象所需要的必要组件
2.3 调用BeanFactoryPostProcessor,实现包扫描
2.4 注册BeanPostProcessors用于处理bean
2.5 注册事件广播器到Spring容器
2.6 注册事件监听器
2.7 完成所有非懒加载Bean的实例化
2.8 发布ContextRefreshedEvent事件

3.Spring中Bean的生命周期 详情

3.Spring中Bean的生命周期
3.1 Spring Bean中初始方法和销毁方法的执行顺序
3.2 BeanPostProcessor后置处理器
3.2 DestructionAwareBeanPostProces后置处理器
3.3 InstantiationAwareBeanPostProcessor后置处理器
3.4 MergedBeanDefinitionPostProcessor 后置处理器
3.5 SmartInstantiationAwareBeanPostProcessor 后置处理器
3.6 带着问题看源码

猜你喜欢

转载自blog.csdn.net/u013202238/article/details/113476245