Spring源码阅读环境配置以下:php
下载地址:Github连接,选择5.x版本java
若是Github下载过慢,可使用码云加速,镜像地址git
另外一种办法是经过fq配置代理,也能够加速下载github
Spring基于gradle构建,须要先安装配置Gradlespring
Gradle下载地址,选择complete版本,下载后加入环境变量,经过gradle -v验证是否配置成功 api
在进行预编译以前,须要检查如下几个地方:bash
在代码目录下执行命令:app
gradlew :spring-oxm:compileTestJava
复制代码
等待编译成功。编译过程可能遇到以下问题:ide
解决办法:Gradle版本问题,具体缘由参考此连接gradle
Gradle Build Tool versions | Minimum plugin version | Maximum plugin version |
---|---|---|
>= 6.0 | 3.0 | 3.3.1 |
5.0 - 5.6.4 | 2.0.2 | 3.3.1 |
4.1 - 4.10 | 1.8 | 1.16 |
4.0 | 1.7.4 | 1.16 |
2.0 - 3.5 | 1.0 | 1.16 |
< 2.0 | not supported | not supported |
解决办法:循环引用问题,注释掉下面三行
File -> New -> Project from Existing Sources -> 找到 Spring 项目路径 -> 选中 build.gradle,并配置gradle,以下图所示
接下来idea会进行很长时间的build,下载相关jar包,耐心等待便可
可能出现以下问题:
解决办法:在spring的解压目录下执行下面这两个命令
gradle objenesisRepackJar
gradle cglibRepackJar
复制代码
新建module,编写本身的代码,对spring代码进行走读。
关于module相关知识,能够参考另外一篇文章:IDEA中Project和Module的关系
项目右击,New->Module
固然也能够建立基于Maven的module,以下所示:
建立module子项目之后,须要添加module依赖,方便导入相关包。以下所示:
至此,能够写代码了。咱们建立一个简单的java bean,并打印。
Person.java:
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
复制代码
Beans.xml:
<?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-3.0.xsd">
<bean id="person" class="org.wds.Person">
<property name="name" value="zhangsan"/>
</bean>
</beans>
复制代码
Main.java:
public class Main {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("Beans.xml");
Person obj = (Person) context.getBean("person");
System.out.println(obj.getName());
}
}
复制代码
运行结果以下所示:
至此,环境搭建成功,能够经过打断点对源代码进行调试和走读。