Spring5.x 源码环境搭建

概述

为了更好运行调试 Spring 整个执行流程,从 github 中 把 Spring 源码下载本地,并且用IDEA 运行调试和添加注释,方便以后回顾和学习,这篇文章总结一下 Spring5.x 源码环境搭建。

安装编译工具 Gradle

Spring 源码是通过 Gradle 管理工具进行管理的,而且每个版本对 Gradle 的版本要求是不一样的,此处编译的Spring源码为5.1.x,我使用的 Gradle 编译工具的版本为 gradle-5.6.4

参考我上一篇文章:IDEA 中配置 Gradle 和使用

从Github上下载Spring源码

下载 spring-framework5.1.x 源码

https://github.com/spring-projects/spring-framework/tree/5.1.xhttps://github.com/spring-projects/spring-framework/tree/5.1.x

          

IDEA 运行源码                                      

解压后使用 IDEA 打开

导入步骤如下:file→new→Project form Existing Sources

选择 Spring-framework-5.1x 项目

 选择 Gradle

然后等着 build 完成即可

选择需要导入工程的模块,此处可以选择自己感兴趣的模块,或者全部导入。

图片

编译完成,测试是否正确

写个测试类测试模块是否导入正确,在 spring-context 包的 test 包下创建两个测试类。如下:

TestConfig类代码如下:

@Configuration
public class TestConfig {

   @Bean
   public String name() {
      return "Hello World Spring.";
   }
}

TestMain类代码如下:

public class TestMain {
   public static void main(String[] args) {
      ApplicationContext acx = new AnnotationConfigApplicationContext(TestConfig.class);
      Object name = acx.getBean("name");
      System.out.println(name);
   }
}

解决报错

然后运行,你会惊奇地发现,报错了,报的是符号找不到,类似于:internal.CustomizerRegistry找不到的异常。

因为 IDEA 导入Spring 源码时,会进行自动编译,所以要把 spring-corebuild 文件清空一下就好,然后运行一下该模块下的 test 单元测试类,重新生成 build 文件。

在 IDEA 控制台输入如下命令

gradle clean build

说明

  • clean:是清空 spring-core build 文件
  • build:从新编译 spring-core 构建build文件

 gradle build 编译项目比较慢,请耐心等待....

经过大概4分钟左右,重新刷新idea,发现没有错误了,重新运行刚才的测试类,可以正常输出了。

至此,使用IDEA搭建 Spring5.1.x 源码环境完成。下面就可以开心的打断点撸 Spring5.1.x 的源码了。后续文章将持续分析 Spring5.1.x 的源码!欢迎评论转发!!!


参考文档

1. Spring5.x源码环境搭建-读源码必备

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值