Spring 的整体架构

源码环境搭建
工具 使用的是 IDEA
这里分支 选择是 5.0.x
spring-framework Git地址
1 . git clone 后,修改
build.gradle
repositories {
gradlePluginPortal()
maven { url "https://maven.aliyun.com/repository/spring-plugin" }
maven{ url "https://maven.aliyun.com/nexus/content/repositories/spring-plugin"}
maven { url "https://repo.spring.io/plugins-release" }
}
repositories {
mavenCentral()
maven { url "https://maven.aliyun.com/repository/central" }
maven { url "https://repo.spring.io/libs-release" }
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
2 . 配置
gradle环境变量,gradle版本在gradle-wrapper.properties中distributionUrl属性中查看


找到默认路径
C:\Users\lizemin\.gradle\wrapper\dists\gradle-4.4.1-bin\46gopw3g8i1v3zqqx4q949t2x\gradle-4.4.1
添加
GRADLE_HOME
添加Path
3 .
Build Project
cglib和objenesis的编译错误问题为了避免第三方
class的冲突,Spring把最新的cglib和objenesis给重新打包了,它并没有在源码里提供这部分代码,而是直接把其放在jar包中,这导致拉取后出现编译出错,那么为了编译通过,我们把jar补全。
使用
gradle objenesisRepackJar和gradle cglibRepackJar命令
异常二
aspect关键字 违背Java语法问题原因,
AOP作为面向对象编程的一种补充,而AOP在Spring中也占据着举足轻重的作用,但是AOP的实现有些时候太过依赖于AspectJ,所以导致有些类、关键字Java并不支持,只有AspectJ才认识,所以我们需要使用ajc.exe来执行编译
解决问题所在就是 使用
ajc.exe去编译即可
至此,再次编译
SpringFrameWork结束,无报错。(此处忽略测试类的异常)
本文档详细介绍了如何在IDEA中搭建Spring 5.0.x的源码环境,包括修改build.gradle文件,配置gradle环境变量,以及解决cglib和objenesis的编译错误。此外,还解决了由于AOP实现依赖AspectJ导致的Java语法异常,通过使用ajc.exe编译来克服这个问题。最终成功完成Spring Framework的无错编译。







1902

被折叠的 条评论
为什么被折叠?



