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());
}
}
複製代碼
運行結果以下所示:
至此,環境搭建成功,能夠經過打斷點對源代碼進行調試和走讀。