不会部署并调试SpringBoot源码?一看必会IDEA操作[通俗易懂]

2022-08-31 10:18:33 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

专题系列分类:玩转SpringBoot2.x系列教程

前言

你是否遇在面试中遇到如下提问:

面试官:了解过SpringBoot 的源码吗 ? 我:… 没有。 面试官:下一位。

当你从面试公司出来后,你心里默默发誓回去一定要看看 SpringBoot 的源码。但是当你在GitHub clone 源码到本地后,各种操作后编译失败,最终只能选择选择放弃。

本文通过 SpringBoot 的源码Jar 包方式进行查看其源码,并非直接编译SpringBoot 的源码。这样方式比较适合能力尚浅的小伙伴也可能快速查看 SpringBoot 源码。

通过本文你将学习到如下内容:

  1. 通过 IntelliJ IDEA 创建SpringBoot 项目。
  2. 通过 IntelliJ IDEA 自动下载源码 Jar 包方式查看源码。
  3. Debug SpringBoot 源码。
  4. 对源码添加自定义注释内容。

IDEA 部署SpringBoot 源码实操

搭建 SpringBoot 环境

第一步:创建 Project 并配置Maven 环境。

首先启动IDEA 点击Create New Project

选择 Empty Project 创建空的项目 (这里的Project 相当于Eclipse的工作空间)

设置 项目名称和项目路径,然后点击 Finish

创建成功后要配置我们自己本地安装 Maven 点击 File->Settings 如下图所示:

依次点击菜单选项: Build Execution Deployment – Build Tools – Maven 进行设置。

  • Maven home directory : 选择自己本地 Maven 安装的目录
  • User settings file: Maven 安装目录 settings.xml的路径
  • Local repository: 这个会根据你选择的 Maven 安装目录 settings.xml的路径 自动生成。
第二步:搭建 SpringBoot 项目

首先点击File->New->Module

点击 Spring Initializr 然后在选择 JDK 版本在 Module SDK处,如果没有就点击右边的New 新增一个JDK。最后点击Next

配置SpringBoot 项目的 Group、Artifact 等信息 ,然后点击Next

选择 Web 模块然后点击Next

配置 SpringBoot 项目的名称和路径地址,然后点击Finish

将 .mvn 文件夹、mvnw文件、mvnw.cmd文件删除掉。

搜索SpringBoot 源码类并打断点调试

通过快捷键 Ctrl N 搜索 AbstractApplicationContext (Spring上下文核心处理类)

Springboot 默认会帮我们下载源码jar包

refresh() 方法并在方法内打一个断点。

通过Debug的方式进行启动 具体操作如下图:

启动项目就走入到了在AbstractApplicationContext refresh() 断点上,如下图所示:

到这里调试 SpringBoot 源码操作完毕!

如果不能进入调试就进行如下图的操作:将如下图中org处勾选取消掉即可。

对源码添加自定义注释内容

如下图所示将鼠标悬浮在 AbstractApplicationContext 上显示出源码 jar 包具体路径。

进入本地安装Maven仓库并创建和源码jar包一样名称的文件夹, 然后将源码 jar包解压到文件夹中。

点击 File->Project Structure,进行修改 IDEA SpringBoot源码路径操作。

点击 Modules 然后选择 AbstractApplicationContex 所在的 Maven依赖,然后双击。

选中Sources 然后点击 号 将包含源码的文件夹中加入到Sources

然后将源码的 jar包删除,如下图所示:

最后点击 OK 修改 IDEA SpringBoot源码路径操作完毕。

将鼠标悬浮在 AbstractApplicationContext 上查看此时源码的路径,如下图所示表示已经切换到源码文件夹下的路径了。

修改源码中的内容在我们的IDEA中。如下图所示:

在我们解压的源码文件夹AbstractApplicationContext .java 也同步修改了。

到这里源码自定义注释操作介绍完毕。

小结

是不是很简单呢?抓紧行动起来开始你的 SpringBoot 源码之旅吧!

参考文献

CSDN博主荒野雄兵:IDEA调试JDK源码的详细过程https://blog.csdn.net/daerzei/article/details/79717717

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143865.html原文链接:https://javaforall.cn

0 人点赞