在1.2节中已经对Spring Boot的核心项目结构及功能做了相应的介绍,本节我们从架构层面了解一下Spring Boot的不同模块之间的依赖关系,如图1-4所示。
图1-4中为了更清晰地表达Spring Boot各项目之间的关系,我们基于依赖的传递性,省略了部分依赖关系。比如,Spring Boot Starters不仅依赖了Spring Boot Autoconfigure项目,还依赖了Spring Boot和Spring,而Spring Boot Autoconfigure项目又依赖了Spring Boot,Spring Boot又依赖了Spring相关项目。因此在图中就省略了Spring Boot Starters和底层依赖的关联。
图1-4 Spring Boot源代码架构图
Spring Boot Parent是Spring Boot及图中依赖Spring Boot项目的Parent项目,同样为了结构清晰,图中不显示相关关联。
从图1-4中我们可以清晰地看到Spring Boot几乎完全基于Spring,同时提供了Spring Boot和Spring Boot Autoconfigure两个核心的模块,而其他相关功能又都是基于这两个核心模块展开的。本书相关的源代码分析也是围绕两个核心模块展开。