小编本机环境
- OS: Windwos 10
- Java: jdk1.8.0_201
- IDEA: 2018版
- Gradle: 4.9
- Spring: 5.1.x
关于环境问题就好像被子里得屁(让人捉摸不透),实在让人一言难尽,建议读者先用自己的开发工具搭建,实在不行再统一小编环境。
下载Spring源码
从GitHub上Spring仓库
https://github.com/spring-projects/spring-framework
我们可以直接获取Spring源代码,小编直接Fork了Spring,因为后面我自己也会写注释到源码中。
把Spring源码下载到本地后,我们还需要做一件事,那就是切换版本(我看了很多其他得博客,虽然博客开头写的xxx版本的Spring但是博主下载后直接导入的master分支),我下载Spring源码后使用Git命令git checkout 5.1.x
把代码切换到了5.1.x版本。
导入到IDEA
1.源代码目录下运行./gradlew :spring-oxm:compileTestJava
2.打开IDEA 选择import project
,导入build.gradle
3.按下图选择,点击ok。
4.idea会自动下载依赖,在依赖下载完成后我们卸载
aspectj
模块
5.之后我们就可以 code away(编写代码)。
测试运行
1.新建一个module,在该module下编写我们自己的代码进行测试。
2.在build.gradle中添加spring-context
依赖
dependencies {
compile(project(':spring-context')) // spring-context依赖
testCompile group: 'junit', name: 'junit', version: '4.12'
}
3.我在模块下编写了一个Main类进行测试。
运行代码后:报错
InstrumentationSavingAgent
类不存在。
解决方式:
这个问题是因为引入
spring-context
产生的,打开spring-context
的build.gradle
文件。
修改完成后再次运行,测试成功。
总结
实在不想对这个进行总结了,看了网上各种博客,可以说毫无鸟用。若读者根据小编方法无法搭建成功,可以尝试换个Spring版本。
若有问题请留言,小编看到会及时回复得。