全網最新最詳細最明白教程之Spring源碼搭建,沒有之一,超詳細


相關帖子有很多但是都不是最新的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閱讀源碼環境搭建

  1. 先從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.mdimport-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源碼就大功告成了。

感興趣的小伙伴可以微信搜索碼上遇見你獲取更多精彩內容。

qrcode_for_gh_5a9d41e3d3a0_860


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM