Spring源码系列【一】——调试环境搭建

2019年12月30日15:46:45 2 841
摘要

1.获取仓库地址
2.配置Gradle
3.IDEA检出代码

一、操作环境

Win10,Jdk1.8,IDEA 2019,spring-framework Version 5.2.3

二、获取仓库地址

2.1 Spring 官方源码

源码下载地址:https://github.com/xiguanchendian/spring-framework

GitHub下载代码速度巨慢,此时有个曲线救国的骚操作:在“码云”新建仓库,导入GitHub已有仓库,然后从gitee检出效率就高多了。

我的仓库地址传送门:https://gitee.com/liangyadong/spring-framework

Spring源码系列【一】——调试环境搭建

 

2.2 Spring 官方文档

Spring Projects:https://spring.io/docs/reference

Spring Framework :https://docs.spring.io/spring/docs/5.2.3.BUILD-SNAPSHOT/spring-framework-reference/

三、Gradle配置

3.1 下载Gradle5.6.4

官方地址:https://gradle.org/releases/

下载complete版,130M左右,解压到指定目录。

3.2 配置Gradle环境变量

比如我的:E:\Develop\gradle-5.6.4\bin添加到系统环境变量,通过命令 gradle -v 验证,出现以下信息证明已经配置成功了:

Spring源码系列【一】——调试环境搭建

这里提一下,我开始下载的是Gradle6.0.1,结果检出代码后build时报版本不匹配问题。需要降一下gradle的版本。报错信息:

The build scan plugin is not compatible with Gradle 6.0 and later.
Please use the Gradle Enterprise plugin instead.

关于版本的问题据说还要考虑IDEA版本,心里有数就行,避免踩坑,实在不行IDEA配置gradle时先选择 Use default Gradle wrapper (recommended) 。

四、IDEA检出代码

“码云”添加本机的SSH公钥,和GitHub操作一样,不赘述了。

代码检出路径就是上面的传送门。

IDEA中gradle配置:

Spring源码系列【一】——调试环境搭建

检出完毕截图:

Spring源码系列【一】——调试环境搭建

 

五、运行示例

打开 IDEA Terminal ,输入如下命令,预编译 spring-oxm 项目:

gradle g-oxm:compileTestJava

结果如下:

Microsoft Windows [版本 10.0.17134.984]
(c) 2018 Microsoft Corporation。保留所有权利。

F:\IDEA\spring-framework>gradle :spring-oxm:compileTestJava

BUILD SUCCESSFUL in 5s
39 actionable tasks: 39 up-to-date
F:\IDEA\spring-framework>

5.1 解析 XML 配置文件成对应的 BeanDefinitions 的流程

可调试 org.springframework.beans.factory.xml.XmlBeanDefinitionReaderTests 的 withFreshInputStream() 和 withImport() 这两个单元测试,相比来说,后者比前者多了一个 <import /> 标签的解析。

这里只执行一次 withImport() 方法,验证环境有没有问题:

Spring源码系列【一】——调试环境搭建

OK,环境搭建好,开始懵逼这么多模块从哪下手看呢?下一篇开始真正的 Spring 源码分析。

 

(本文完)

  • 我的微信
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号(习惯沉淀)
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • 匿名 匿名 1

      Idea的版本是?

        • buerguo buerguo Admin

          @匿名 截图是 IDEA 2019.1.1