越简单,越快乐!
越努力,越幸运!

运行环境
本文运行环境如下:
系统:Windows 10
IDEA版本:IntelliJ IDEA 2020.1.4 x64
JDK版本:jdk-11.0.10(JDK 11)
Gradle版本:gradle-6.8.1
Spring源码版本:5.3.4-SNAPSHOT
构建步骤
1、下载源码
spring源码地址(github) https://github.com/spring-projects/spring-framework
可以先导入到gitee仓库再下载,速度会很快,如下:


2、gradle安装
可以在编译的时候自动下载;
下载到本地,进行配置;本文采用这种方式:
①下载Spring源码配置的gradle版本

②进行系统环境变量配置

配置Gradle和Maven使用相同仓库:

③验证配置是否成功

3、导入idea编译
配置好gradle直接import即可,导入后gradle会自动编译,过程很漫长,耐心等就好了~~编译过程中踩了很多坑,在第3小节做了总结。

编译成功如下:

4、自定义测试module
构建成功后,在spring中可以建自己的测试module,然后配置对spring模块依赖即可。

gradle默认生成的配置文件是:build.gradle,但是spring settings.gradle配置如下:所以需要将build.gradle改成:study-spring-bean.gradle,否则加载不到。
rootProject.name = "spring"rootProject.children.each {project ->project.buildFileName = "${project.name}.gradle"}
在settings.gradle中新增自己新建的module:
//自定义moduleinclude 'study-spring-bean'
踩坑总结
1、编译过程gradle下载依赖慢的问题:
①修改gradle下载源,默认是从中央仓库下载(国外),速度很慢,跟使用maven一样,我们一般会改为使用阿里镜像站。
修改build.gradle:

修改settings.gradle:

②配置idea使用本地安装的gradle:

2、新建的测试module依赖了spring的模块时依然导包不成功,可能的原因是:上述提到的没有修改默认的build.gradle配置文件名称,spring加载不到。
3、修改JDK版本为JDK 11,开始使用JDK 1.8运行时jfr包导入不成功:
import jdk.jfr.Category;import jdk.jfr.Description;import jdk.jfr.Event;import jdk.jfr.Label;
spring源码中默认使用的是JDK1.8:


①修改project依赖的JDK版本:

②修改Java compilerJDK版本:

③修改gradle依赖的JDK版本:

④修改build.gradle配置文件:

4、运行新建的module时,控制台输出乱码:

①修改gradle-wrapper.properties配置:

②修改idea help下配置:

然后重启idea即可:

长按二维码关注我们

ITSK
博客|yajing8
我知道你在看哟






