注:该源码分析对应SpringBoot版本为2.1.0.RELEASE
1 前言
本篇接
如何搭建自己的SpringBoot源码调试环境?–SpringBoot源码(一)。
前面搭建好了自己本地的SpringBoot源码调试环境后,此时我们不要急着下手进入到具体的源码调试细节中,刚开始阅读源码,此时我们一定要对项目结构等有一个整体的认识,然后再进行源码分析调试。推荐阅读下笔者之前写的的分析开源项目源码,我们该如何入手分析?一文,干货满满哦。
2 SpringBoot源码模块一览
我们先来对SpringBoot的源码模块来一个大致的了解,如下图:
从上图可以看到,主要有以下四个模块:
- spring-boot-project:整个SpringBoot框架全部功能在这个模块实现,SpringBoot项目95%的代码都在这里实现,源码总共有25万行左右。
- Spring-boot-samples:这个是SpringBoot给小伙伴们赠送的福利,里面包含了各种各样使用SpringBoot的简单demo,我们调试阅读源码的时候可以充分利用该模块。
- Spring-boot-sample-invoker:这个模块应该是跟sample模块有关,注意根pom.xml中有这么一句话:
Samples are built via the invoker plugin
,该模块无代码。 - Spring-boot-tests:这个模块SpringBoot的测试模块,跟部署测试和集成测试有关。
因为SpringBoot的全部功能在spring-boot-project模块实现,因此下面重点来介绍下 spring-boot-project 模块。
3 spring-boot-project源码模块详解
先来看下spring-boot-project整体模块结构,如下图,然后我们再逐个来介绍: