通過git下載下載Spring的原始碼
下載spring專案到本機
有很多方法
- 從spring官網下載原始碼到本機,然後解壓放到指定目錄
- 通過eclipse的git外掛下載
- 直接通過本機安裝的git軟體下載
總之下載原始碼和編譯原始碼的方式的各種各樣,在這我就使用我自己的方式下載構建。
直接通過本機安裝的git軟體下載原始碼構建好之後匯入eclipse
1.本地git的安裝(安裝過程很容易的,可以自行百度)
2.到Spring的GitHub上去https://github.com/spring-projects/spring-framework/,選擇自己需要的版本
3.在自己喜歡的盤下建立目錄(用於存放Spring原始碼)
4.copy Spring原始碼的下載地址
5.在git視窗中,通過命令下載原始碼
git clone https://github.com/spring-projects/spring-framework.git
下載完之後我們可以進去SpringFramework的目錄看看Spring原始碼的的分佈
6.然後我們看看git的分支,如果是master的就修改其他的標籤,因為master在編譯構建的時候可能有些依賴包下載不下來,雖然使用其他標籤的,但還是一樣的。
git branch
7.檢視tag分支的全部標籤
git tag
7.切換到對應分支(v4.3.8.RELEASE這個是上一步查詢出來的標籤)
#切換到對應分支
git checkout -b v4.3.8 v4.3.8.RELEASE
然後在檢視其是否切換到其他分支了
利用gradle編譯srping原始碼
Jdk版本很重要,一定要jdk1.8,其他版本的jdk,執行gradle會報jdk版本的異常
如果是使用eclipse的我們直接執行Spring原始碼中import-into-eclipse.bat檔案就可以了,他會自動給我們下載相對應的gradle的版本了
不過這裡有一點gradle下載的依賴包預設是在C:\Users\85133\.gradle檔案下的,如果你想手動控制其下載依賴包的位置可以在環境變數中修改。這樣子下載依賴就是生成到指定的目錄下的,如圖所示配置:
然後就等gradle批處理編譯構建好之後我們就可以把專案匯入eclipse中了。
此時進入spring-beans目錄中,可以看到生成了eclipse的專案配置檔案.classpath和.project(其他目錄也是一樣的,因為我們使用Spring原始碼中import-into-eclipse.bat這個批處理的)
注意:
如果是 idea 需要手動去下載元件
https://gradle.org/releases/ 下載 2.11 版(這個版本要和原始碼對應著,要不然會出問題)
配置gradlew 環鏡變數
idea 選擇已Gradle 方式匯入, 配置 Gradle home 路徑完成匯入
匯入編譯後的專案到Eclipse中
匯入自己需要的專案(匯入專案不用多說吧)
到此Spring原始碼的下載和編譯就OK啦
測試匯入eclipse中的原始碼是否起作用
1.我們可以建一個很簡略的maven專案(pom檔案沒有依賴SpringFamework依賴包)
2.而是直接依賴我們匯入eclipse的SpringFamework的專案工程
3.在src/main/resources下建立Spring的配置檔案beans.xml這個也很簡陋,只有一個bean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean class="com.cym.service.impl.PersonServiceImpl"/>
</beans>
3.建立一個PersonService介面和PersonService介面的實現類PersonServiceImpl
4.建立一個測試類
5.執行測試
到此結束了。