目录
- 一. 🦁 前言
- 二. 🦁 搭建步骤
- 2.1 环境要求
- 2.1.1 IDEA
- 2.1.2 JDK
- 2.1.3 源码拉取
- 2.1.4 编译源码
- 2.2 搭建测试子模块
- 2.2.1 修改pom文件
- 2.2.2 测试
- 三. 🦁 调试
- 四. 🦁 总结
一. 🦁 前言
要学习SpringBoot源码,搭建一个源码调试环境是一个好的前提。现在我们来搭建一个属于自己的源码环境叭!!!
二. 🦁 搭建步骤
2.1 环境要求
2.1.1 IDEA
Jetbrains 出品的 IDEA 工具(建议2020款)
2.1.2 JDK
需要使用 JDK 编译 Spring Boot 的代码,这里狮子使用的是 JDK 11 版本
2.1.3 源码拉取
使用 IDEA 从官方仓库 https://github.com/spring-projects/spring-boot/releases 克隆项目。
具体操作如下:
狮子使用的是Springboot-2.2.9.RELEASE的版本,因为Springboot2.3+以上的版本都是用grandle来管理项目,对于初学者来说太不友好了,还是习惯使用Maven版本管理项目。
2.1.4 编译源码
tips:
这一步需要网络非常好,并且有时候会编译不成功(狮子花了半个小时才成功,主要原因Spring Boot 内置了 50+ 个 Starter 的实现,导致引入了非常多的依赖。),如果不成功的话,继续执行以下命令即可。
我们解压项目之后,打开项目所在的路径,然后打开cmd工具,输入以下命令:
mvn clean install -DskipTests -Pfast
编译成功(这是狮子第二次编译,所以会比较快):
编译完成之后,使用IDEA打开项目即可。
2.2 搭建测试子模块
现在咱们来搭建一个子模块,方便后续调试使用。具体搭建Module(这里不一一阐述了,会看源码的,应该搭建也会搭建)
2.2.1 修改pom文件
打开新建的子模块pom子工程,将含有spring-boot版本号的代码删除,添加如下代码:
<parent>
<artifactId>spring-boot-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.2.9.RELEASE</version>
<relativePath/> <!-- 查看本地仓库的源码 -->
</parent>
目的是为了能在本地查看源码的时候,可以添加注解。如下:
到这一步,源码环境搭建成功。
2.2.2 测试
下面我们创建一个项目来运行下(创建一个controller):
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@RequestMapping("/test")
public String test(){
System.out.println("源码环境构建成功...");
return "源码环境构建成功";
}
}
测试如下:
三. 🦁 调试
狮子这里特地找了一个视频,大家可以直观地查看了:
Debug 运行 SampleTomcatApplication 类,首次构建会需要几秒钟,成功进入断点,可以愉快的调试 Spring Boot 启动过程。
四. 🦁 总结
到这里,搭建源码完成啦,也不难,你搭建好了吗?😄