Spring Boot 源码
文章平均质量分 85
Spring Boot 源码
嘉禾嘉宁papa
这个作者很懒,什么都没留下…
展开
-
Alian解读SpringBoot 2.6.0 源码(十):启动流程之自动装配原理
一、背景1.1、主类的加载1.2、后置处理器的获取二、配置类后处理器2.1、获取配置类2.2、2.3、解析主类2.3.1、整体解析过程2.3.2、核心解析过程2.3.3、延迟导入选择器处理程序2.3.4、延迟导入选择器分组处理程序的注册和执行2.4、自动配置获取2.4.1、自动配置组执行2.4.2、loadFactoryNames2.4.3、loadSpringFactories原创 2022-09-13 17:14:50 · 5735 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(九):启动流程分析之应用上下文刷新后处理(启动完成事件,Runner运行器,就绪事件)
一、背景1.1、run方法整体流程1.2、本文解读范围二、应用上下文刷新后置处理三、时间信息、输出日志记录执行主类名四、发布应用上下文启动完成事件4.1、ApplicationStartedEvent4.2、AvailabilityChangeEvent五、执行所有 Runner 运行器六、发布ApplicationReadyEvent事件结语原创 2022-01-04 09:15:43 · 5377 阅读 · 1 评论 -
Alian解读SpringBoot 2.6.0 源码(八):启动流程分析之刷新应用上下文(下)
一、背景1.1、刷新的整体调用流程1.2、本文解读范围二、初始化特定上下文子类中的其他特殊bean2.1、初始化主体资源2.2、创建web服务三、检查监听器bean并注册它们四、实例化所有剩余的(非惰性初始化)单例五、发布相应的事件5.1、清除上下文级别的资源缓存5.2、初始化声明周期处理器5.3、将刷新传播到生命周期处理器5.4、发布事件结语原创 2022-01-03 09:00:18 · 5597 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(八):启动流程分析之刷新应用上下文(中)
一、refresh二、invokeBeanFactoryPostProcessors三、registerBeanPostProcessors四、initMessageSource五、initApplicationEventMulticaster结语原创 2021-12-29 10:12:42 · 5567 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(八):启动流程分析之刷新应用上下文(上)
一、背景1.1、run方法整体流程1.2、刷新的整体调用流程1.3、本文解读范围二、准备刷新2.1、准备刷新的流程2.2、初始化上下文环境中servlet相关属性源2.3、校验require属性2.4、预刷新应用程序监听器三、通知子类刷新内部beanFactory四、准备beanFactory4.1、准备beanFactory的整体流程4.2、StandardBeanExpressionResolver4.3、其他简单说明五、上下文中子类对bean工厂进行后处理结语原创 2021-12-27 14:44:41 · 5704 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(七):启动流程分析之准备应用上下文
一、背景1.1、run方法整体流程1.2、本文解读范围二、准备应用上下文2.1、整体流程2.2、设置环境2.3、应用上下文进行后置处理2.4、应用所有初始化器2.5、发布应用上下文准备事件2.6、日志打印2.7、添加特定于引导的单例bean2.8、加载主类2.9、发布应用上下文准备完毕的事件结语原创 2021-12-20 15:46:46 · 5936 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(六):启动流程分析之创建应用上下文
一、背景1.1、run方法整体流程1.2、本文解读范围二、创建应用上下文2.1、初始化入口2.2、初始化AbstractApplicationContext2.3、初始化GenericApplicationContext2.4、初始化GenericWebApplicationContext2.5、初始化ServletWebServerApplicationContext2.6、初始化AnnotationConfigServletWebServerApplicationContext原创 2021-12-15 10:58:54 · 6421 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(五):启动流程分析之打印Banner
一、背景1.1、run方法整体流程1.2、本文解读范围二、打印banner2.1、整体流程2.1.1、图片Banner获取流程2.1.2、文本Banner获取流程2.2、具体实现2.3、打印效果2.4、Banner生成网址原创 2021-12-13 09:56:14 · 5624 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(四):启动流程分析之应用环境准备(配置文件application.properties加载)
一、背景1.1、环境准备事件流程回顾1.2、本文解读范围二、EnvironmentPostProcessorApplicationListener初始化三、环境准备事件触发3.1、执行流程3.2、获取环境后处理器3.3、配置数据环境后处理器四、初始化ConfigDataEnvironment五、处理并应用processAndApply5.1、处理初始化5.2、resolveAndLoad5.3、processAndApply后续流程结语原创 2021-12-09 15:07:42 · 6147 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(四):启动流程分析之应用环境准备
一、背景1.1、run方法整体流程1.2、本文解读范围二、应用环境准备2.1、准备环境的整体流程2.2、创建环境2.3、配置环境2.4、附加指定的环境配置2.5、发布环境准备事件2.6、环境配置绑定2.7、环境转换2.8、解除附加环境配置三、配置忽略的bean信息结语原创 2021-12-06 13:30:17 · 5541 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(三):启动流程分析之命令行参数解析
一、背景1.1、run方法整体流程1.2、本文解读范围二、默认应用参数解析2.1、接口ApplicationArguments2.2、实现类DefaultApplicationArguments2.2.1 实现类源码2.2.2 Source类图2.3、流程分析2.3.1、初始化DefaultApplicationArguments2.3.2、命令行参数解析2.4、参数封装2.5、实际演示2.5.1 命令行参数设置图2.5.2 测试及结果结语原创 2021-12-05 09:14:47 · 5271 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(二):启动流程分析之监听器解析
一、背景1.1、run方法整体流程1.2、本文解读范围二、记录应用启动的开始时间三、初始化启动上下文3.1、初始化启动上下文3.2、初始化应用程序事件广播器3.3、初始化应用上下文四、设置无头属性4.1、设置无头属性五、创建并发布运行监听器5.1、获取所有运行监听器5.2、开始启动事件发布运行监听器5.3、事件发布运行监听器5.4、事件发布广播器5.5、获取符合事件的监听器5.6、事件匹配5.7、监听器执行结语原创 2021-12-03 14:41:14 · 6026 阅读 · 0 评论 -
Alian解读SpringBoot 2.6.0 源码(一):SpringApplication对象创建(Spring工厂加载机制)
一、背景二、SpringApplication实例化 2.1、实例化方法入口 2.2、推断应用程序类型 2.3、Spring工厂加载机制 2.3.1、获取Spring工厂实例(重要) 2.3.2、loadFactoryNames 2.3.3、loadSpringFactories(核心) 2.4、获取引导注册初始化器 2.5、设置容器初始化器 2.6、设置容器监听器 2.7、推断main方法所在类结语原创 2021-12-03 10:06:20 · 6298 阅读 · 0 评论