下载spring源码
编译前配置工作
下载最新版idea
idea当中配置Git可用
idea当中配置gradle的build方式为idea
系统及idea中jdk版本设置为1.8
修改源码build.gradle配置文件仓库为阿里镜像
修改gradle-wrapper.properties配置文件
导入到idea中,等待下载jar包即可
示例编写
新建自己的module
引用项目其它module
编写测试代码
常见的错误
不是个Git仓库
Kotlin警告报错
cglib或者objenesis报错
spring-aspects 报错
java: 找不到符合
1.下载spring源码
学习版本
version=5.2.19.BUILD-SNAPSHOT
https://gitee.com/mirrors/Spring-Framework/tree/5.2.x/
选择5.2.x分支,然后下载zip包即可。
2.编译前配置工作
2.1 下载最新版idea
社区版本即可
https://www.jetbrains.com/idea/download/other.html
2.2 idea当中配置Git可用
2.3 idea当中配置gradle的build方式为idea
可以等项目导入后改,也不着急.
2.4 系统及idea中jdk版本设置为1.8
2.5 修改源码build.gradle配置文件仓库为阿里镜像
这个也注释掉,有告警其实正常,我们忽略即可。
2.6 修改gradle-wrapper.properties配置文件
原始下载网站链接:
https://services.gradle.org/distributions
选择properties中的版本即可
distributionUrl=https\://services.gradle.org
/distributions/gradle-5.6.4-bin.zip
gradle-wrapper.properties配置文件路径:spring-framework-5.2.19/gradle/wrapper/gradle-wrapper.properties
distributionurl gradle本地配置
mac版本
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file\:/Users/hs/Documents/tools
gradle/localzip/gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
win版本:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=file\:///d\:/BaiduNetdiskDownload
gradle-5.6.4-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2.7 导入到idea中,等待下载jar包即可
idea直接open打开文件夹,剩下的就等待即可。可能时间会比较久,看个人的网速,一般在30分钟左右。
3.示例编写
3.1 新建自己的module
编译通过之后,建一个自己的module,用于测试spring.
如下图,选择Gradle,下一步后命名为spring-example.
3.2 引用项目其它module
optional(project(":spring-context"))
3.3 编写测试代码
测试代码
public class Test1 {
public static void main(String[] args) {
AnnotationConfigApplicationContext context
= new AnnotationConfigApplicationContext();
context.register(Bean1.class);
context.refresh();
System.out.println(context.getBean(Bean1.class));
}
}
控制台打印bean地址
> Task :spring-example:Test1.main()
com.spring.Bean1@eec5a4a
BUILD SUCCESSFUL in 3s
注释掉 context.register(Bean1.class);控制台报异常
Exception in thread "main" org.springframework.
beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'com.spring.Bean1' available
4.常见的错误
4.1 不是个Git仓库
fatal: not a git repository (or any of the
parent directories): .git
4.2 Kotlin警告报错
Kotlin: warnings found and -Weeror specified
allWarningsAsErrors = true
4.3 cglib或者objenesis报错
找到gradle下的spring-core,选择build/task,cglibRepackJar和objenesisRepackJar运行即可
4.4 spring-aspects 报错
解决:
找到setting.gradle文件,注释掉重新编译这一行即可
include "spring-aspects"
4.5 java: 找不到符合
ps:如果继续遇到其它module有类似的问题,就按照一样的方法去对应项目跑test.