Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)

如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)

原创
作者头像
源码笔记
修改于 2020-03-09 02:31:42
修改于 2020-03-09 02:31:42
4.1K0
举报
文章被收录于专栏:源码笔记源码笔记

1 前言

这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。

2 环境安装要求

  • IntelliJ IDEA
  • JDK1.8
  • Maven3.5以上

3 从github上将SpringBoot源码项目下载下来

首先提供SpringBoot2.1.0的github地址:

https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE

因为要进行阅读源码和分析源码项目,我们是不是要在里面写一些注释帮助我们阅读理解源码,因此需要将SpringBoot源码项目fork到自己的github仓库中,然后再利用git clone url命令将已经fork到自己github仓库的SpringBoot源码拉取下来即可。

但由于以上方式往往很慢,通常会超时,所以笔者直接将SpringBoot项目直接下载下来,然后再导入IDEA中。

4 将SpringBoot源码项目导入到IDEA中

将刚才下载的spring-boot2.1.0.RELEASE项目选择maven方式导入到IDEA中,然后一直next即可导入完成,注意选择JDK版本是1.8,maven版本是3.5+。

此时下载maven依赖是一个漫长的等待过程,建议maven没有配置阿里云仓库的小伙伴们配置一下,这样下载速度会快很多。参考配置maven使用阿里云仓库进行配置即可。

5 编译构建SpringBoot源码项目

此时导入项目后,我们进行编译构建SpringBoot源码项目了,在构建之前做两个配置:

  1. 我们要禁用maven的代码检查,在根pom.xml中增加一下配置即可,如下图:
  2. 可能有的小伙伴们的pom.xml文件的project标签上显示java.lang.OutOfMemoryError错误,这是因为IDEA里的Maven的importer设置的JVM最大堆内存过小而导致的,如下图,此时可参考Maven依赖包导入错误(IntelliJ IDEA)解决即可。

进行了上面的两点配置后,此时我们就可以直接执行以下maven命令来编译构建源码项目了。

代码语言:txt
AI代码解释
复制
mvn clean install -DskipTests -Pfast

此时又是漫长的等待,我这里等待5分钟左右就显示构建成功了,如下图:

6 运行SpringBoot自带的sample

因为SpringBoot源码中的spring-boot-samples模块自带了很多DEMO样例,我们可以利用其中的一个sample来测试运行刚刚构建的springboot源码项目即可。但此时发现spring-boot-samples模块是灰色的,如下图:

这是因为spring-boot-samples模块没有被添加到根pom.xml中,此时将其添加到根pom.xml中即可,增加如下配置,如下图:

此时我们挑选spring-boot-samples模块下的spring-boot-sample-tomcat样例项目来测试好了,此时启动SampleTomcatApplicationmain函数,启动成功界面如下:

然后我们再在浏览器发送一个HTTP请求,此时可以看到服务端成功返回响应,说明此时SpringBoot源码环境就已经构建成功了,接下来我们就可以进行调试了,如下图:

7 动手实践环节

前面已经成功构建了SpringBoot的源码阅读环境,小伙伴们记得自己动手搭建一套属于自己的SpringBoot源码调试环境哦,阅读源码动手调试很重要,嘿嘿。

下节预告

<font color=Blue>我们该如何去分析SpringBoot源码涉及模块及结构?--SpringBoot源码(二)</font>

原创不易,帮忙点个赞呗


欢迎关注【源码笔记】公众号,一起学习交流。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​谷歌助力,快速实现 Java 应用容器化
Google 在 2018 年下旬开源了一款新的 Java 工具 Jib,可以轻松地将 Java 应用程序容器化。通过 Jib,我们不需要编写 Dockerfile 或安装 Docker,通过集成到 Maven 或 Gradle 插件,就可以立即将 Java 应用程序容器化。
用户2781897
2019/04/16
5330
如何分析SpringBoot源码模块及结构?--SpringBoot源码(二)
如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)。
源码笔记
2020/03/07
2.1K0
如何分析SpringBoot源码模块及结构?--SpringBoot源码(二)
如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」
这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。
全栈程序员站长
2022/08/24
2.2K0
如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」
SpringBoot内置的各种Starter是怎样构建的?--SpringBoot源码(六)
本篇接 外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五)
源码笔记
2020/03/15
1K0
搭建SpringBoot源码环境的正确姿势(避坑必备)
最近打算拉取SpringBoot源码,各种编译报错,各种问题。参考很多网上的教程,仍然是各种错误。
明明如月学长
2021/08/27
1.8K0
搭建SpringBoot项目三种方式(超详细版)
接下来我们搭建一个SpringBoot项目,并引入SpringMVC的功能,首先我们可以通过官网搭建项目:
会洗碗的CV工程师
2023/11/05
10.8K0
搭建SpringBoot项目三种方式(超详细版)
超赞!推荐一个专注于Java后端源码分析的Github项目!
大家好,最近有小伙伴们建议我把源码分析文章及源码分析项目(带注释版)放到github上,这样小伙伴们就可以把带中文注释的源码项目下载到自己本地电脑,结合源码分析文章自己本地调试,总之对于学习开源项目源码会更方便。
源码笔记
2020/04/06
1.1K0
超赞!推荐一个专注于Java后端源码分析的Github项目!
一起来学 SpringBoot | 第一篇:构建第一个 SpringBoot 工程
摘要: 原创出处 http://blog.battcn.com/2018/04/20/springboot/v2-introducing/ 「唐亚峰」欢迎转载,保留摘要,谢谢!
芋道源码
2019/10/29
4440
一起来学 SpringBoot | 第一篇:构建第一个 SpringBoot 工程
分析开源项目源码,我们该如何入手分析?(授人以渔)
本文接上篇文章跟大家聊聊我们为什么要学习源码?学习源码对我们有用吗?,那么本篇文章再继续跟小伙伴们聊聊源码这个话题。
源码笔记
2020/03/07
1.5K0
分析开源项目源码,我们该如何入手分析?(授人以渔)
springboot源码调试
地址:https://github.com/spring-projects/spring-boot/
全栈程序员站长
2022/08/18
3660
springboot源码调试
【SpringBoot系列01】初识SpringBoot一、介绍二、目标三、实现四、总结
想必大家都一定用过spring框架,每次整合spring框架的时候总是会有无穷无尽的xml配置文件,第一次写配置文件的时候,大家还会抱着学习的心态认真读每一个配置,但是当我们每次在构建项目都要写同样的配置文件大家应该会觉得厌烦,尽管只是复制粘贴。那么现在你就不用担心了,使用springboot让你更简单的构建spring应用。
yukong
2018/08/21
3940
【SpringBoot系列01】初识SpringBoot一、介绍二、目标三、实现四、总结
【SpringBoot】从环境准备到创建SpringBoot项目的全面解析.
本文对Idea版本有一定要求,如果是社区版则需在2021.1-2022.1.4,专业版则无要求. 如果已经下载的Idea不在这个范围,需要卸载干净再重装.
用户11369350
2025/05/11
980
【SpringBoot】从环境准备到创建SpringBoot项目的全面解析.
搭建SpringBoot源码环境的正确姿势(避坑必备)
最近打算拉取SpringBoot源码,各种编译报错,各种问题。参考很多网上的教程,仍然是各种错误。
全栈程序员站长
2022/07/01
1.1K0
搭建SpringBoot源码环境的正确姿势(避坑必备)
看必会!SpringBoot系列之从0搭建项目
使用SpringBoot已经也有两年多了,从一开始对SpringBoot的零认知到现在日常开发必接触的框架,说实话受益良多,其实SpringBoot就是Spring的扩展,以前我们做框架整合以及开发过程中会有大量的配置文件需要配置,而SpringBoot的出现就是把我们从大量配置文件xml中解救出来,不再需要做过多bean配置、DI配置,使用SpringBoot之后只需要集中在application配置文件中做简单属性配置即可,由于SpringBoot内嵌了Tomcat这样还免去了我们安装Tomcat的麻烦,我们只需要运行项目根目录下启动类的main方法即可启动项目,是不是对比以往的项目有没有感觉牛逼plus,今天先说到这,接下来我们学习如何从零搭建SpringBoot项目。
main方法
2020/12/07
1.1K0
看必会!SpringBoot系列之从0搭建项目
【SpringBoot DB 系列】Jooq 初体验
java 环境中,说到数据库的操作,我们通常会想到的是 mybatis 或者 hibernate,今天给大家介绍一个国内可能用得不太多的操作方式 JOOQ,一款基于 Java 访问关系型数据库的工具包,轻量,简单,并且足够灵活的 ORM 框架
一灰灰blog
2020/09/16
1.3K0
【SpringBoot DB 系列】Jooq 初体验
SpringBoot【入门案例】
  Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简单来说,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。
用户4919348
2019/05/15
6800
SpringBoot【入门案例】
一起来学SpringBoot | 第一篇:构建第一个SpringBoot工程
未接触 SpringBoot 之前,搭建一个普通的 WEB 工程往往需要花费30分钟左右,如果遇到点奇葩的问题耽搁的时间会更长一点,但自从用了 SpringBoot 后,真正体会到什么叫分分钟搭建一个 WEB,让我拥有更多的时间跟我的小伙伴们唠嗑了。使用 SpringBoot 后发现一切是如此的简单(还记得读书那会被JAR包,xml支配的恐惧吗,如今都可以说 good bye)
battcn
2018/08/03
8420
一起来学SpringBoot | 第一篇:构建第一个SpringBoot工程
SpringBoot 多模块项目实践(附打包方法)
比起传统复杂的单体工程,使用Maven的多模块配置,可以帮助项目划分模块,鼓励重用,防止POM变得过于庞大,方便某个模块的构建,而不用每次都构建整个项目,并且使得针对某个模块的特殊控制更为方便。
Java团长
2019/11/10
5.1K0
自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM
利用maven/eclipse搭建ssm(spring+spring mvc+mybatis)
青石路
2019/07/15
5490
自我救赎 → 利用 IDEA 和 Spring Boot 搭建 SSM
Spring学习笔记(十二)——SpringBoot基础和快速入门
Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的Java对象(Plain Old Java Object,POJO)实现了EJB的功能。
不愿意做鱼的小鲸鱼
2022/09/24
4760
Spring学习笔记(十二)——SpringBoot基础和快速入门
推荐阅读
相关推荐
​谷歌助力,快速实现 Java 应用容器化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档