手把手教你搭建 Spring 源码分析环境(昨天视频笔记)

Posted 江南一点雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手教你搭建 Spring 源码分析环境(昨天视频笔记)相关的知识,希望对你有一定的参考价值。

松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->

最近每周和小伙伴们分享一篇 Spring 源码文章,不知不觉已经连着发了 5 篇啦:

老实说,松哥写这五篇文章的时候,为了图方便,我就没在本地搭建 Spring 源码环境,因为在 IDEA 里边通过 Maven 依赖也可以方便的下载 Spring 源码,我就用了这种方式。

但是后来搞着搞着,有的时候想在源码上写点注释却写不了,因为通过 Maven 依赖的方式下载的 Spring 源码是只读的,没法修改,有的时候想自己修改一下看看效果也不方便。

所以想了想还是花点时间搭建一个 Spring 源码环境吧,也不费啥事。要做就做专业的,毕竟要做 Spring 源码分析系列文章,搭建一个 Spring 源码环境也是应该的。

那就搞起!

1.源码获取

大家可以直接下载 zip 压缩包,也可以 clone,建议通过 clone 的方式获取源码,这样方便切换到不同的分支查看不同时期的代码。

直接从 GitHub 上 clone 源码有点慢,所以我们可以先在自己的 Gitee 账户上新建一个仓库,新建的仓库选择从【从 GitHub/GitLab 导入仓库】,将 Spring 源码仓库导入到自己的 Gitee 上,然后再从 Gitee 上 clone,clone 速度提升十倍以上。

  • https://gitee.com/lenve/spring-framework

代码 clone 应该都会吧?算了本着手把手的原则,我还是说一下,执行如下命令 clone 代码:

git clone https://gitee.com/lenve/spring-framework

2.Gradle 问题

最新版的 Spring 源码是基于 Gradle 来构建的,松哥 2016 年那会搞 android 的时候,Gradle 经常使用,现在搞 Java 后,还是以 Maven 为主,Gradle 使用稍微少一些。这里我们先来解决 Gradle 的问题。

有两种办法:

  1. 在电脑本地安装。
  2. 加载 Spring 源码时当场安装。

无论哪种方式,建议都安装适合 Spring 源码的版本,避免后期一些不必要的问题。

Spring 源码 clone 下来之后,大家在 spring-framework/gradle/wrapper/gradle-wrapper.properties 文件中,我们可以看到当前源码使用的 Gradle 版本:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-6.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

如果你想采用第二种方式,那么现在什么都不用做,一会导入项目的时候会自动下载 Gradle(松哥这里图省事采用这种方式)。

3.修改下载源

默认路径下载依赖构建项目比较慢,所以源码下载下来之后,我们首先进入到 build.gradle 文件中,添加下载源(原有的保留,添加 Alibaba 下载源):

repositories {
 maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}

4.导入项目

接下来打开 IDEA,导入 Spring 源码,注意选择 Import Project:

注意各个选项不要选择错了:

手把手教你搭建 Spring 源码分析环境(昨天视频笔记)

项目导入成功之后,接下来会去下载相关依赖,这个过程所耗费的时间视网络情况而定。

依赖都下载之后,接下来编译项目,在菜单栏选择 Build->Build Project,或者直接点击

以上是关于手把手教你搭建 Spring 源码分析环境(昨天视频笔记)的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你君正X2000开发板的OpenHarmony环境搭建

手把手教你用webpack3搭建react项目(开发环境和生产环境)

手把手教你用VUE开发后台管理系统:搭建SpringBoo 2.xt环境

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了