相關帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版編譯的時候簡直坑死我了,弄了好久。接下來給大家詳細說一下這個安裝過程,以及相關的軟件版本號。
相關軟件、依賴的版本號:
-
Gradle
gradle-7.2-bin.zip該版本官網下載地址 或者自行選擇版本 所有版本官網地址注意:如果要是自行選擇版本,以下流程未必適用 -
JDK
jdk-11.0.12_windows-x64_bin.exe該版本官網下載地址注意:如果不使用JDK11,會報依賴錯誤 java: 程序包jdk.jfr不存在,反正JDK8是會報錯,本人解決了很長時間都沒有解決,有興趣的話大家自行嘗試。 -
Spring源碼版本
5.3.x -
軟件
ideaIU-2021.1.2.exe
相關軟件介紹完畢,開始實操:
Spring閱讀源碼環境搭建
-
先從GithHub拉取項目,源碼地址
https://github.com/spring-projects/spring-framework

如果要是GitHub網絡太慢,可以先將代碼fork到Gitee上,然后再進行拉取。
首先先登錄Gitee,然后點擊右上角加號的Import Repository

第一次操作,有可能需要Github和Gitee的權限驗證,直接驗證即可,出現以下界面:
然后按照下圖操作

導入完成后直接去Gitee上拉取代碼就行了。這里不在對clone做過多描述,我是使用IDEA進行拉取代碼的:
首先先打開gitee的spring源碼地址,Copy一下這個地址:如圖

打開IDEA,找到Git,然后點擊clone

點擊完clone會出現如下界面,填寫好復制的源碼地址,選好本機存放的源碼路徑,點擊clone.等待拉去完成。

clone完代碼后,發現不是我們想要的版本,我們需要切換一下。注意有可能顯示的版本不全,點擊一下showmore即可,

然后按圖操作:

切換完成之后,暫時就不用管源碼了,先close project 。
接下來安裝Gradle,首先先將軟件包解壓到你想放的位置。解壓完成以后配置Gradle的環境變量,
打開系統的高級系統設置,然后修改環境變量,如圖:

在系統變量中增加兩個屬性分別是
GRADLE_HOME - 這個是你解壓Gradle的路徑
GRADLE_USER_HOME - 這個是存放Gradle的依賴包的路徑
切記切記且其GRADLE_USER_HOME的名字不可以改。,不然與默認的配置文件不對應

配置好之后這邊,打開Command,輸入
gradle -v
出現如圖所示的結果說明配置成功

然后打開Spring源碼目錄,找到gradlew.bat,打開cmd窗口,執行它。

等待出現如下界面,會出現build success的提示說明成功,

這還不算完,找到你spring的源碼目錄,找到這兩個文件import-into-eclipse.md 和import-into-idea.md,這兩個文件一個是針對eclipse,一個是針對IDEA的;本次講解的是IDEA;打開對應的文件,找到step如圖,執行對應的命令
./gradlew :spring-oxm:compileTestJava
windows下需要去掉./
gradlew :spring-oxm:compileTestJava

然后再到執行的gradlew.bat命令下的目錄執行gradlew :spring-oxm:compileTestJava該命令,也就是spring源碼目錄。如圖:

執行完成后,直到出現BUILD SUCCESSFUL則代表成功,

進行到這里,就已經離成功不遠了。然后使用IDEA重新打開Spring源碼項目。
打開方式:File->New->Project from Existing Sources 找到項目中的build.gradle如圖所示:


最后idea會自動編譯spring源碼,編譯成功以后,所有的模塊都會有個小小的藍色圖標,表示編譯成功,至此spring源碼導入完成。接下來寫一個測試類,測試一下。
點擊項目目錄 New->Moudle

選擇Gradle JDK11 Java 點擊Next: 如圖

配置相關屬性,項目名、包名、版本號等如圖,點擊Finish

接下來在新建的項目中的build.gradle中引入模塊:spring-beans和,如圖:

注意:
這里一定要寫
implementation不要寫其他的否側會失敗。版本不同,引入方式也不一樣,本次的Gradle是7.2。
然后再main中創建一個測試Bean
如圖:

然后再resource中床架一個spring的配置文件 ,將剛剛創建的Bean加載到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="myTestBean" class="com.vipbbo.spring.MyTestBean"/>
</beans>

接下來再test中創建測試類

測試類的內容如下:
@Test
public void Test(){
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
MyTestBean myTestBean = (MyTestBean) beanFactory.getBean("myTestBean");
System.out.println(myTestBean.getName());
}

點擊運行,出現以下結果代表創建完成了。

到這里,spring源碼就大功告成了。
感興趣的小伙伴可以微信搜索
碼上遇見你獲取更多精彩內容。

