spring5.3.x源码阅读环境搭建

spring5.3.x源码阅读环境搭建-gradle构建编译

文章目录

一、依赖工具

  1. git

git工具 我就不在赘述了

  1. jdk17

打开 www.oracle.com/java/techno… 根据自己的操作系统下载对应的版本 这里说一下为什么使用jdk17的版本,我们构建spirng源码是为了学习spring,而不是钻牛角尖,构建 spirng5.3.x如果不是jdk17会出现一些问题,所以本文使用jdk17来构建spring源码!

image.png 3. gradle-7.4

打开 services.gradle.org/distributio… 选择最新版本:gradle-7.4-all.zip(all版本是带源码的)

image.png

下载后解压配置环境变量

image.png

image.png

然后打开cmd 输入gradle -v 出现下图所示标识配置环境变量配置成功

image.png

  1. idea

www.jetbrains.com/idea/ 点击网址自行下载

二、下载源码

很多朋友都因为网速原因拉不下来github的源码!所以我们这里使用giteeFork源码。

  • 为什么要 Fork ?既然开始阅读、调试源码,我们可能会写一些注释,有了自己的仓库,可以进行自由的提交。
  • 本文使用的 Spring 版本为 5.3.x的master分支代码 (5.3.0-SNAPSHOT)。
  • 首先 https://github.com/spring-projects/spring-framework复制此链接拷贝导入仓库点击导入按钮即可将github的spring源码Fork到自己的gitee仓库。

image.png

image.png

image.png

三、开始构建

现在我们已经有了自己的仓库地址了,此时准备开始构建源码

image.png image.png

复制Fork到gitee的仓库地址

image.png

然后点击克隆

image.png

克隆打开的时候idea会自动下载构建此刻我们立刻点击取消。

1645346602(1).png

现在我们点击file->settings->build,Exection,Deployment->Build Tools->Gradle

image.png image.png

然后点击apply->ok

image.png

然后找到build.gradle文件将 repositories变量配置为一下配置

repositories {
   //新增以下2个阿里云镜像
   maven { url 'https://maven.aliyun.com/nexus/content/groups/public/'}
   maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
   maven { url "https://repo.spring.io/libs-spring-framework-build" }
   maven { url "https://repo.spring.io/snapshot" }
   mavenCentral()
}
复制代码

image.png

点击刷新按钮,此刻等待gradle构建spring源码,如果中间出错可能是网络原因下载jar包失败,重新刷新几次就ok!

四、编译源码

好到现在我们的源码就算构建完成,我们开始编译源码

image.png

点击complileTestJava如果没有报错恭喜你我的朋友说明源码编译成功了!

五、源码测试

image.png 1645347874(1).png image.png image.png

打开创建的测试目录的build.gradle文件添加以下代码

dependencies {
    implementation(project(":spring-beans"))
    implementation(project(":spring-context"))
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
复制代码

image.png 此刻在src->main->java下创建两个类KukahaMainSysConfig

import org.springframework.context.annotation.AnnotationConfigApplicationContext;


public class KukahaMain {


   public static void main(String[] args) {
      AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(SysConfig.class);
      System.out.println(annotationConfigApplicationContext);
   }

}
复制代码
import org.springframework.context.annotation.Configuration;


@Configuration
public class SysConfig {
}
复制代码

此时运行KukahaMain类的主方法,结果打印一下图示表示你已经搭建好spring的源码环境,此刻你可以开始尽情的玩耍了!!!!

image.png

尾、完结撒花

此文章是作者一步步走可以成功的!希望小伙伴们玩的开心,后期会更新spring的源码解析,希望能得到小伙伴的多多支持!!!!!

Supongo que te gusta

Origin juejin.im/post/7066718749323165704
Recomendado
Clasificación