文章目录
- 如何分析SpringBoot源码模块及结构? SpringBoot源码(二)
- 1 前言
- 2 SpringBoot源码模块一览
- 3 spring-boot-project源码模块详解
-
- 1) spring-boot-parent
- 2) spring-boot
- 3) spring-boot-autoconfigure
- 4) spring-boot-starters
- 5) spring-boot-cli
- 6) spring-boot-actuator
- 7) spring-boot-actuator-autoconfigure
- 8) spring-boot-test
- 9) spring-boot-dependencies
- 10) spring-boot-devtools
- 11) spring-boot-docs
- 12) spring-boot-properties-migrator
- 13) spring-boot-test-autoconfigure
- 14) spring-boot-tools
- 4 用一个思维导图来总结下SpringBoot源码项目的脉络
- 5 SpringBoot模块之间的pom关系详解
- 6 小结
如何分析SpringBoot源码模块及结构? SpringBoot源码(二)
注:该源码分析对应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整体模块结构,如下图,然后我们再逐个来介绍: