Spring Boot源码获取的2种方法(新手必看)
Spring Boot 简化了基于 Spring 的 Java 应用开发,降低了使用难度,从这个意义上讲 Spring Boot 是对 Spring 的进一步封装。
这种封装使得很多使用者“只知其然,而不知其所以然”,在使用过程中出现问题时,不知道如何排错或者不能更好地使用 Spring Boot。
阅读源代码使得我们能快速、正确地理解 Spring Boot 的原理,但这要求阅读者具有较强的 Java 语言功底、精力、耐心和开发经验。虽然使用 IDEA 的反编译功能也能看到 Java 源代码,但是这种源代码没有注释,不利于理解。
目前 Java 项目大多基于 Maven 构建,使用 Git 分布式版本控制工具对项目进行管理。可以使用 Git 工具一次性把所有代码复制到本地,也可以使用 Maven 工具下载某个 jar 对应的源代码和 javadoc 文档。本节将讲述这两种获取源代码的方式。
由于源代码比较大和 Github 国内访问速度慢的问题,下载需要一段时间,如下图所示:
如果觉得命令不易使用,也可以使用如下图所示的图形化界面,在 IDEA 中使用 Maven 来下载 jar 源代码:
首先到 jar 中找到对应类,然后双击,IDEA 将自动反编译。接着单击顶部的“Download Sources”,下载该类所在 jar 的对应源代码。下载完毕后,IDEA 会自动打开源代码(带有完整的注释),如下图所示。
Maven 会把下载后的源代码安装到本地,后面再使用时就不需要下载 jar 源代码了,并且 IDEA 会根据源代码给出友好提示,因此推荐使用这种方式。
这种封装使得很多使用者“只知其然,而不知其所以然”,在使用过程中出现问题时,不知道如何排错或者不能更好地使用 Spring Boot。
阅读源代码使得我们能快速、正确地理解 Spring Boot 的原理,但这要求阅读者具有较强的 Java 语言功底、精力、耐心和开发经验。虽然使用 IDEA 的反编译功能也能看到 Java 源代码,但是这种源代码没有注释,不利于理解。
目前 Java 项目大多基于 Maven 构建,使用 Git 分布式版本控制工具对项目进行管理。可以使用 Git 工具一次性把所有代码复制到本地,也可以使用 Maven 工具下载某个 jar 对应的源代码和 javadoc 文档。本节将讲述这两种获取源代码的方式。
使用Git复制
Spring Boot 的源代码托管在 https://github.com/spring-projects/spring-boot,可以在 cmd 中直接使用 Git 的 clone 命令(注意要安装 Git 客户端)复制。git clone https://github.com/spring-projects/spring-boot.git如果感觉输入命令复杂,也可以使用如下图所示的图形化界面,使用 Git 一次性下载 Spring Boot 到本地。


由于源代码比较大和 Github 国内访问速度慢的问题,下载需要一段时间,如下图所示:

使用Maven自动下载
我们可以直接通过 mvn 命令行(在环境变量中配置好 Maven 路径)下载 jar 的源代码,比如下载 spring-web 的 4.3.16 版本的源代码:mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=org.springframework:spring-web:4.3.16.RELEASE:jar:sources
如果觉得命令不易使用,也可以使用如下图所示的图形化界面,在 IDEA 中使用 Maven 来下载 jar 源代码:

首先到 jar 中找到对应类,然后双击,IDEA 将自动反编译。接着单击顶部的“Download Sources”,下载该类所在 jar 的对应源代码。下载完毕后,IDEA 会自动打开源代码(带有完整的注释),如下图所示。

Maven 会把下载后的源代码安装到本地,后面再使用时就不需要下载 jar 源代码了,并且 IDEA 会根据源代码给出友好提示,因此推荐使用这种方式。