深度解析Spring源码(一)Spring5源码编译(spring5.2.x版本)

在学习Spring之前,我们需要先编译Spring源码。我们常说的spring就是spring framework。

spring官网:https://spring.io/

spring源码github地址:https://github.com/spring-projects/spring-framework

工具:idea2020.1,jdk8,构建工具gradle。

1.使用git下载spring源码

git clone https://github.com/spring-projects/spring-framework.git

由于github下载速度比较慢,我们可以使用国内的码云镜像快速下载,或者你可以使用科学上网。

我们在码云中搜索spring-framework,找到 Gitee极速下载

码云链接:https://gitee.com/mirrors/Spring-Framework.git

在这里插入图片描述

哒哒哒,30s下载完成。

2.首先切换到spring目录,并将分支切换到我们想编译的5.2.x

$ cd spring-framework/

$ git checkout 5.2.x
Updating files: 100% (1548/1548), done.
Switched to a new branch '5.2.x'
Branch '5.2.x' set up to track remote branch '5.2.x' from 'origin'.

输入命令,进行编译:

./gradlew build

在这个过程中git会自动帮我们下载gradle,只需耐心等待,大概需要40分钟。

当出现以下内容时说明gradle已经构建spring源码成功。
在这里插入图片描述

注意:出现绿色字体BUILD SUCCESSFUL就代表编译成功,出现的错误不用理会。

3.将spring源码导入idea

但是在导入idea之前,还有最后一步:预编译spring-oxm./gradlew :spring-oxm:compileTestJava

输入命令进行预编译:

./gradlew :spring-oxm:compileTestJava

在这里插入图片描述

然后导入到idea中:(File -> New -> Project from Existing Sources -> 找到你的spring文件夹 -> 选择 build.gradle)

在耐心的等待后,我们就可以编码了。

若有需要额外下载jar包,我们可以修改 build.gradle 文件使用阿里云仓库进行加速:

repositories {
			mavenCentral()
			maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
			maven { url "https://repo.spring.io/libs-spring-framework-build" }
		}

在这里插入图片描述

当出现编译成功且左边的项目变为加粗黑体,就代表我们编译成功了!

此时就可以愉快的撸码了。

4.愉快的撸码

右键new一个moudle,选择gradle。

在这里插入图片描述

在build.gradle中引入spring-context依赖:

dependencies {
    compile(project(":spring-context"))
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

5.代码测试

由下图可以看到,每次都需要编译全文,很麻烦,我们可以通过修改配置更改编译方式:
在这里插入图片描述

修改路径:–>File–>Settings–>Build,Excution,Deployment–>BuildTools–>Gradle

在这里插入图片描述

在这里插入图片描述
如果编译过程中出现任何问题可以随时留言,笔者会及时回复。

在这里插入图片描述

关注公众号:关于java,持续为您奉献更多干货。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值