SpringBootソースコードディレクトリの分析

以下は、Spring / SpringBootの作成者のソースコード分析ディレクトリです。これは主に、SpringBootの起動プロセス全体、Springコンテナのライフサイクル全体、およびSpringで管理されるBeanを分析します。(この記事はSpringBoot 2.1.x分析に基づいています。)

目次

1SpringBootはプロセスの詳細を開始します

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.春のコンテナライフサイクルの詳細

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.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