10 分搭建一个 Spring Boot 源码的调试环境,保姆级教程!
友情提示:如果胖友对 Spring Boot 的使用不是很了解,可以看看艿艿写的 github.com/YunaiV/Spri… 系列文章,大概有 100+ 个 Spring Boot 使用案例。
今儿,我们来搭建一个 Spring Boot 调试环境,目标是:启动 Spring Boot,成功调试它的启动过程。
视频可见 B 站:www.bilibili.com/video/BV1WA…
😝 艿艿比较腼腆,大家给个三连支持一下,感恩 1024~
1. 依赖工具
1.1 IDEA
当然是 Jetbrains 出品的 IDEA 工具,相信绝大多数胖友都使用的它。
艿艿使用的是 2020.3 版本,胖友尽量保证不低于该版本哈。
1.2 JDK
需要使用 JDK 编译 Spring Boot 的代码,这里艿艿使用的是 JDK 1.8 版本
$ java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
2. 源码拉取
使用 IDEA 从官方仓库 github.com/spring-proj… 克隆项目。
友情提示:如果网络不是很好的胖友,可以选择和艿艿一样,使用 Gitee 提供的镜像仓库 gitee.com/mirrors/spr…
这里,我们使用的 Spring Boot 版本是 2.6.0-SNAPSHOT。
友情提示:胖友可以考虑 Fork 下官方仓库,为什么呢?
既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。😜
3. 下载依赖
① 克隆完成 Spring Boot 项目之后,IDEA 会自动下载需要的 Gradle 工具。如下图所示:
这里,我们使用的 Gradle 版本是 6.9。
友情提示:由于是从国外的网址下载,所以需要耐心等待一会,艿艿花费了 2 分多钟。
② 下载完 Gradle 工具之后,IDEA 就会使用它自动下载相关的依赖库。如下图所示:
因为 Gradle 支持使用 Maven 依赖,所以我们可以使用阿里云的 Maven 镜像 https://maven.aliyun.com/nexus/content/groups/public/
**。修改 build.gradle
文件,如下图所示:
效果非常不错,不过艿艿还是花了 20 分钟才下载完了依赖。主要原因是,Spring Boot 内置了 50+ 个 Starter 的实现,导致引入了非常多的依赖。
ps:如果中间下载失败,点击【绿色刷新】按钮,继续下载依赖即可。
4. 调试 Spring Boot 示例
依赖下载完后,我们通过调试 Spring Boot 提供的示例,了解 Spring Boot 的启动过程。在 spring-boot-smoke-tests
项目下,我们可以看到大量的示例,如下图所示:
这里,我们使用 spring-boot-smoke-test-tomcat
项目,最为熟悉的 Spring MVC + Tomcat 的组合。
① 在 SampleTomcatApplication 和 SpringApplication 分别打上断点,如下图所示:
② Debug 运行 SampleTomcatApplication 类,首次构建会需要几秒钟,成功进入断点,可以愉快的调试 Spring Boot 启动过程。如下图所示:
更多 Spring 相关的文章,可以看看 《Spring Framework 实现原理与源码解析》 哟。
更多 Spring Boot 相关的文章,可以看看 《Spring Boot 实现原理与源码解析》 哟。
更多 Spring Cloud 相关的文章,可以看看 《Spring Cloud 实现原理与源码解析》 哟。
转载自:https://juejin.cn/post/7002767973354061832