Spring源码导入步骤


theme: channing-cyan

Spring源码导入步骤

准备开始学习Spring源码,后面会发布Spring-AOP源码spring-tx事务源码相关文章。

这里先把自己学的源码时候,本地IDE导入源码的过程已经踩过的坑放在这里。

一、到github下载code

一定要注意spring版本对应的JDK版本

我这里自己用过spring 5.0.x 对应JDK 8,spring 5.3.x对应JDK 11

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

如果github.com下载过慢,可以使用gitee 把 github仓库同步过来,再下载。(可以在网上百度一下同步步骤,下面随便贴两张图)

可以直接到本人gitee :https://gitee.com/old_yogurt/spring-framework 下面拉取 5.0.x版本的源码,里面有本人学习源码是做的一些中文注释。

下载之后,看目录结构,看import-into-idea.md文档:

1、先在目录结构中执行 ./gradlew :spring-oxm:compileTestJava

2、第一步如果成功,第二步导入不要着急,先打开 父级的 setting.gradle 和 builder.gradle,添加阿里云仓库(要不然拉依赖比较慢)

setting.gradle

如果有这个repositories节点,就加上,如果没有整个pluginManagement没有,可以把整个pluginManagement节点加上,也可整个不加,因为下面还有build.gradle

pluginManagement {
repositories {
maven { url 'https://maven.aliyun.com/repository/gradle-plugin/'} //这个有点主要
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter/'} 
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google/' } 
gradlePluginPortal()
maven { url 'https://repo.spring.io/plugins-release' }
}
}

build.gradle

第一处:

maven { url "https://maven.aliyun.com/repository/public" }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}

第二处:

这样等这依赖拉去完就完事了。

二、添加 自定义的 项目引用源码

可以看看 本人gitee:https://gitee.com/old_yogurt/spring-framework 5.0.x版本下面的 a-spring-test-pro的子项目就是本人测试源码时候写的demo;

构建Module:next

用gradle: next

这里 父级一定要选spring: next (只有这样才可以将 我们创建的子项目添加到spring工厂中)

在gradle中引入我们想要测试的模块:

这里就完成了

三、Spring 源码使用 spring-aspects AOP遇到的问题

如果我们想要测试Spring AOP,那么我们需要引用 spring-aspects 模块,但是我们aspects有需要 AspectJ 编译器工具,需要我们去下载对应的aspectstool.jar工具+idea配置才能使用。

需要注意 aspectstool.jar 也需要对应JDK的版本 ,我这里下载的是 1.9.2,对应JDK 8

也可以查看 spring-aspects 模块的 .gradle查看对应的版本。

1、下载 AspectJ编译器

下载 AspectJ编译器:https://www.eclipse.org/aspectj/downloads.php

image-20220407110513375.png

先别点 download,先选择我们国内的镜像源,要不然下载很慢

先选择我们国内的镜像源

下载好之后,用cmd到我们下面的目录执行:java -jar aspectj-1.9.2.jar ;选择对应的JDK版本,进行安装即可。

安装好的目录:

image-20220407110807762.png

2、IDE配置

下载 AspectJ Plugin

配置:

项目配置:

将 spring-aop_main 和 spring-aspectjs_main 两个模块添加 AspectJ,到Project Structure,右键main → add → AspectJ;在重新build工程即可。

如果想要AspectJ是否配置成功,可以自己写个demo测试,或者查看 本人gitee:https://gitee.com/old_yogurt/spring-framework 5.0.x版本下面的 a-spring-test-pro的子项目的aop包下的AOP测试。

image-20220407111337905.png


这是一个从 https://juejin.cn/post/7368758932154122292 下的原始话题分离的讨论话题