Spring源码阅读环境搭建及测试
Spring源码仓库
由于github比较慢,所以这里选择使用gitee上的spring仓库
https://gitee.com/mirrors/Spring-Framework.git
Gradle安装
在下载安装gradle之前,为了避免可能会因版本不同会导致的问题,我们先偷偷看一眼Spring源码gradle/gradle/gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
可以看到,这里需要的gradle版本为6.7.1。
gradle安装没什么好说的,直接下载压缩包解压到想要存放的目录。
然后在idea中配置gradle。
IDEA导入源码
直接从gitee拉取代码,等待gradle构建项目,在漫长的等待之后,我们可以看到spring的源码是长这样的:
巨多的模块不禁让人胆寒。。。。
构建项目
直接使用idea中的Gradle插件对spring-oxm和spring-core模块重新编译,再对整个项目重新编译。
构建成功:
意想不到的顺利。
简单的测试
运行spring-mvc中的DispatherServletTests进行简单的测试:
测试通过。
创建测试模块
创建测试用的模块,选择Gradle即可。
将spring-test模块中spring-test.gradle的内容复制到新创建的模块的build.gradle中:
修改一下description。
接下来,创建测试用的实体类:
public class TestBean {
private String testStr = "testStr";
public String getTestStr() {
return this.testStr;
}
public void setTestStr(String testStr) {
this.testStr = testStr;
}
}
spring上下文配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="test" class="TestBean"/>
</beans>
创建测试类
public class TestIOC {
@Test
void test(){
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("application.xml");
TestBean test = classPathXmlApplicationContext.getBean("test", TestBean.class);
System.out.println(test.getTestStr());
}
}
运行测试方法
测试成功,这样一来我们的spring源码阅读环境就搞定了,简直不要太顺利。