一、引言
提到博客框架,就不得不说 Hexo,它是一个快速、简洁且高效的博客框架。目前 Hexo 拥有 400+ 的主题,使用者可以在众多的主题中选择一个应用到自己的框架中。
因为框架限制,我们在线运行时只能选择其中一个主题来展示自己的博客。当然也可以部署多套不同主题的环境,但这不是最好的方案。
下面我们要接入的 Hexo Diversity 主题,就是一个可以实现多主题自由切换的解决方案。
在 《SpringApplication 的 run 方法核心流程介绍》 博文中,我们知道了 ApplicationArguments
是 Spring Boot 中用于获取 应用程序启动参数 的接口,其默认实现是 DefaultApplicationArguments
。
不过有关内容尚未详细介绍,本篇就带大家深入分析下 ApplicationArguments
接口及其默认实现。
书接前文《SpringApplication 的 run 方法核心流程介绍》,Huazie 围绕 SpringApplication
的 run
方法,带大家一起初步了解了 Spring Boot 的核心运行流程。其中有关运行流程监听器的内容出现最多,但还未细讲。那么本篇就深入了解下 SpringApplication
的 run
方法监听器。
提到 Java 线程池,就不得不说 ThreadPoolExecutor
,它是 Java 并发包 java.util.concurrent
中的一个类,提供一个高效、稳定、灵活的线程池实现,用于实现多线程并发执行任务,提高应用程序的执行效率。
在《任务执行与Executor框架》中,Huazie 介绍了通过 java.util.concurrent.Executors
中的静态工厂方法来创建线程池,而这个线程池实现就是 ThreadPoolExecutor
。
ThreadPoolExecutor
提供了一系列参数和配置选项,开发人员可以根据应用的需求来定制线程池的行为。
本篇就将详细介绍线程池 ThreadPoolExecutor
中的各种配置参数。
在前面的博文《初识 SpringApplication》中,Huazie 带大家一起分析了 SpringApplication
类实例化的逻辑。当 SpringApplication
对象被创建之后,我们就可以调用它的 run
方法来启动和运行 Spring Boot 项目。
本篇博文将围绕 SpringApplication
的 run
方法展开,带大家一起从源码分析 Spring Boot 的运行流程。
上篇博文《共享 MetadataReaderFactory 上下文初始化器》,Huazie 带大家详细分析了SharedMetadataReaderFactoryContextInitializer
。而在 spring-boot-autoconfigure 子模块中预置的上下文初始化器中,除了共享 MetadataReaderFactory
上下文初始化器,还有一个尚未分析。
那么本篇就来详细分析一下 ConditionEvaluationReportLoggingListener
【即 ConditionEvaluationReport
日志记录上下文初始化器】。