日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用eclipse导入spring-framework-5.0.x源码

發(fā)布時(shí)間:2024/8/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用eclipse导入spring-framework-5.0.x源码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

記錄一下自己編譯Spring-framework-5.0.x的過(guò)程

  • 1. 準(zhǔn)備階段 (環(huán)境:jdk1.8+spring5+gradle4.9+eclipse4.11)
    • 1.1 jdk1.8
    • 1.2 Gradle安裝與配置
    • 1.3 AspectJ和Groovy安裝與配置
    • 1.4 spring-framework-5.0.x源碼下載
  • 2. 開(kāi)始編譯
    • 2.1 運(yùn)行import-into-eclipse.bat
  • 2.2 導(dǎo)入spring源碼到eclipse或者STS
  • 3. 生成根目錄
  • 4. 導(dǎo)入根項(xiàng)目到eclipse中
  • 補(bǔ)充:
    • 1. AJDT插件的安裝

說(shuō)明一下我這里打算用eclipse查看源碼,所以下面的編譯操作后,只是為了往eclipse里面導(dǎo)入,沒(méi)有嘗試往idea里面導(dǎo)入。

1. 準(zhǔn)備階段 (環(huán)境:jdk1.8+spring5+gradle4.9+eclipse4.11)

1.1 jdk1.8

由于此次編譯的是spring-framework-5.0.x,jdk版本最低需要1.8

1.2 Gradle安裝與配置

1. gradle下載地址:https://services.gradle.org/distributions/

截止到目前,gradle最新版本為5.6.1了。gradle下載時(shí)候有三個(gè)包,gradle-src為gralde源碼,gradle-bin為安裝包,gradle-all為源碼加安裝包,我這里下載的是gradle-all我剛開(kāi)始直接下載的最新版本的,結(jié)果到后面編譯的時(shí)候,報(bào)錯(cuò)了,提示有個(gè)什么東西1.8,還是什么1.0.2.be什么鬼的版本問(wèn)題,然后我就換成4.10了,就沒(méi)有報(bào)那個(gè)錯(cuò)誤了。

gradle下載后不需要安裝,解壓在本地磁盤后配置環(huán)境變量即可。

2. 配置環(huán)境變量:

新建GRADLE_HOME,path中增加%GRADLE_HOME%/bin;即可。

配置完成以后win+r,輸入cmd進(jìn)入dos界面,鍵入命令gradle -v,若如下圖正確輸出版本信息即可

這個(gè)查看版本的命令是不是跟maven很像??這倆其實(shí)功能差不多。

然后配置gradle默認(rèn)的本地倉(cāng)庫(kù),可做如下配置,新增GRADLE_USER_HOME,路徑配置成需要的本地倉(cāng)庫(kù)路徑即可,我這里配置為:E:\Gradle\LocalRepository。

1.3 AspectJ和Groovy安裝與配置

AspectJ的安裝讓我折騰了半天,由于我的eclipse是4.11版本的,https://www.eclipse.org/ajdt/downloads/找了一下,最新的版本只有適合eclipse4.10版本的,上面提示說(shuō)插件適合的版本需要和Eclipse的版本一致才可以生效,然后就試著裝了一下,好像確實(shí)沒(méi)有生效。當(dāng)然如果沒(méi)有安裝的話,在最后導(dǎo)入項(xiàng)目的時(shí)候,會(huì)提示缺少這兩個(gè)工具,直接在marketPlace里面可以看到Groovy,直接點(diǎn)Install按鈕即可,但是另外的AspectJ Development Tools,這個(gè)玩意卻沒(méi)有Install按鈕可以點(diǎn),只有一個(gè)learnMore,在折騰半天之后,那我就點(diǎn)learnMore看看吧,進(jìn)去里面之后竟然有個(gè)Install,點(diǎn)了之后貌似就正常安裝了。

1.4 spring-framework-5.0.x源碼下載

這里我們直接從全球最大的同性交友平臺(tái)github上下載就可以了,進(jìn)入github官網(wǎng),直接搜索spring-projects/spring-framework,第一個(gè)就是我們需要的。

進(jìn)去項(xiàng)目里面,選擇我們需要的版本,我這里下載的是5.0.x,這里我直接下載的源碼的壓縮包。

然后解壓到E:\Spring-Resource\spring-framework-5.0.x

由于我這里已經(jīng)編譯過(guò)了,所以根目錄下會(huì)有.setting文件夾。

2. 開(kāi)始編譯

2.1 運(yùn)行import-into-eclipse.bat

在嘗試多次編譯失敗之后,偶然在百度上看到,說(shuō)直接雙擊運(yùn)行spring-framework-5.0.x文件夾里面的import-into-eclipse.bat,我也只能死馬當(dāng)成活馬醫(yī)了,試一下吧,然后意外的是,沒(méi)有報(bào)錯(cuò)!!!!!

彈出如下窗口,開(kāi)始下載依賴包了,第一次運(yùn)行了十幾秒之后提示fail并且自動(dòng)退出了,我又運(yùn)行一次,就正常了。


過(guò)程是漫長(zhǎng)的,耐心等待即可。 出現(xiàn)編譯成功的綠條之后,不要著急按任意鍵!

編譯結(jié)束之后 我看了一下gradle的本地倉(cāng)庫(kù)文件夾里面,多了將近一個(gè)G的新文件,也就是說(shuō)spring編譯的過(guò)程,也就是拼電腦配置和網(wǎng)速的時(shí)候了。編譯的時(shí)間長(zhǎng)短,取決于你的電腦的配置和網(wǎng)速。還有一點(diǎn)就是需要檢查你的gradle的本地倉(cāng)庫(kù)的位置是不是自定義的,因?yàn)槟J(rèn)會(huì)在C盤比如我的是在C:\Users\linmengmeng\.gradle,到這里我才發(fā)現(xiàn)我之前沒(méi)有配置本地倉(cāng)庫(kù),寫博客時(shí)就把本地倉(cāng)庫(kù)加在前面環(huán)境變量了。

可以看到cmd窗口里面提示到編譯完成之后,下面開(kāi)始第二步:

2.2 導(dǎo)入spring源碼到eclipse或者STS

直接在eclipse的左側(cè)項(xiàng)目空白處右鍵===>Import===>Existing Projects into Workspace,選擇spring源碼解壓的根目錄。


由于我當(dāng)時(shí)沒(méi)有安裝groovy和ajnature,這里會(huì)有一個(gè)提醒安裝的彈窗,這點(diǎn)還是很方便的。這里默認(rèn)勾選了這兩個(gè)插件,直接點(diǎn)Show Solutions。


eclipse卡了一下之后,彈出下面的彈窗,但是只有Groovy的Install按鈕,那就點(diǎn)擊Install安裝就完事了。



然后提示是否重啟eclipse,點(diǎn)擊立即重啟即可。重啟之后就可以看到Project下出現(xiàn)了這么多新的項(xiàng)目

但是這個(gè)spring-beans上面有個(gè)叉,不用著急,讓eclipse飛一會(huì)就好了,等右下角的progress綠條反應(yīng)完就好了。

如果還有問(wèn)題,可以 看一下Problem里面的具體信息,我這里是提示groovy的編譯版本跟工作空間的不一致,這個(gè)錯(cuò)誤忘了截圖了,記得就是提示一個(gè)是2.4,另一個(gè)是2.5,直接右鍵項(xiàng)目名,然后選擇Properties,然后將groovy的編譯的版本改成后面的那個(gè)就好了,根據(jù)實(shí)際情況,你的不一定也是2.5,我晚上回去在我自己電腦上編譯的時(shí)候,這個(gè)報(bào)錯(cuò)信息就變成需要改為3.0了。

我在我自己電腦上導(dǎo)入項(xiàng)目之后,spring-jdbc項(xiàng)目上面有個(gè)感嘆號(hào),然后依賴spring-jdbc的別的模塊也是提示依賴的模塊spring-jdbc中有錯(cuò)誤。記得Problem里面提示spring-jdbc項(xiàng)目缺少一個(gè)jar包,然后我在eclipse里面倒騰了半天,也沒(méi)有將那個(gè)依賴弄好,最后沒(méi)辦法了,就自己手動(dòng)下載,然后導(dǎo)入到項(xiàng)目里面。

我這里提示的是缺少derby-10.14.2.0.jar,所以我們直接在中央倉(cāng)庫(kù)里面搜這個(gè)依賴即可


下載到本地之后,我們需要將其放在gradle的本地倉(cāng)庫(kù)里面,我這里使用的路徑是D:\gradle\local_repository,我們可以看一下gradle的jar包的目錄

然后我們找到缺少的那個(gè)jar包的路徑

這里面有倆,我看了一下里面的目錄是有固定套路的,里面是版本號(hào)文件夾,版本號(hào)文件夾里面還有兩個(gè)隨機(jī)命名的文件夾,一個(gè)文件夾里面放了pom文件,另一個(gè)文件夾放了jar文件,我的derby-project文件夾下面只有一個(gè)pom文件所在的隨機(jī)文件夾,于是我便自己新建了一個(gè)文件夾,然后把剛才下載的jar包扔里面

接著在Eclipse里面手動(dòng)指定jar的位置。

右鍵spring-jdbc項(xiàng)目---Build Path-----Config Build Path


可以看到這里這個(gè)jar包的位置就是剛才手動(dòng)創(chuàng)建的。這是修改之后的,修改之前這個(gè)異常的jar信息應(yīng)該是在jar包列表的最后一行,選中異常的jar,點(diǎn)擊右側(cè)的Edit即可手動(dòng)指定其位置。

然后點(diǎn)擊Apply and Close 給Eclipse一點(diǎn)反應(yīng)的時(shí)間,直到所有的子項(xiàng)目都沒(méi)有錯(cuò)誤信息,就可以開(kāi)始下一步了。

然后回到cmd窗口,按任意鍵,提示進(jìn)入第三步

3. 生成根目錄

cmd窗口中提示,第三步,提示的大致意思:

不幸的是,eclipse不允許導(dǎo)入項(xiàng)目層次結(jié)構(gòu),因此我們不得不在過(guò)程中跳過(guò)根項(xiàng)目元數(shù)據(jù)的生成

貌似是提示我們:剛才我們導(dǎo)入的項(xiàng)目,只是一些分離的子項(xiàng)目,我們需要一個(gè)父項(xiàng)目。那就按任意鍵,接著往下走,接著編譯

不出意外的話,會(huì)順利出現(xiàn)綠條,然后接著第四步。

4. 導(dǎo)入根項(xiàng)目到eclipse中

重復(fù)第二步,導(dǎo)入根項(xiàng)目,然后可以看到Eclipse里面新導(dǎo)入一個(gè)名為spring的項(xiàng)目,包含了所有第二步導(dǎo)入的子項(xiàng)目,這樣我們就可以在代碼中在多個(gè)模塊之間來(lái)回切換了。


從第四步的提示中,看到還要最后一步呢,但是當(dāng)我完成第四步之后回到cmd窗口,敲了回車之后,沒(méi)反應(yīng),連敲了兩次回車之后,cmd窗口一閃就消失了。。。。。。。

不知道最后一步是什么操作,但是又沒(méi)有影響我后面的操作。

但是到目前為止,我們已經(jīng)順利把源碼導(dǎo)入到eclipse里面了。

這里創(chuàng)建一個(gè)簡(jiǎn)單的測(cè)試,開(kāi)始我們的第一個(gè)demo之旅吧。


其中紅框選中的就是我們自己寫的測(cè)試demo了。
首先是新建一個(gè)簡(jiǎn)單的實(shí)體類MyTestBean.java,然后使用xml文件,讓Spring將我們這個(gè)類添加到容器中。

package my.test.bean;/*** * @author linmengmeng* @since 5.0*/ public class MyTestBean {private String testStr = "testStr";/*** @return the testStr*/public String getTestStr() {return testStr;}/*** @param testStr the testStr to set*/public void setTestStr(String testStr) {this.testStr = testStr;}}

然后是xml文件的內(nèi)容,很簡(jiǎn)單,就是使用<bean>標(biāo)簽,來(lái)告訴Spring需要將這個(gè)類裝載到容器里面。
beanFactoryTest.xml內(nèi)容:

<?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="my.test.bean.MyTestBean"></bean></beans>

最后是我們的測(cè)試文件:BeanFactoryTest.java

package my.test.bean;import org.junit.Test; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource;import static org.junit.Assert.*;/*** * @author linmengmeng* @since 5.0*/ @SuppressWarnings("deprecation") public class BeanFactoryTest {@Testpublic void testSimpleLoad() {BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("/my/test/bean/beanFactoryTest.xml"));MyTestBean testBean = (MyTestBean) beanFactory.getBean("myTestBean");assertEquals("testStr", testBean.getTestStr());} }

右鍵testSimpleLoad方法,Run as 可以看到左側(cè)的小綠條,證明我們這個(gè)測(cè)試通過(guò)了。

看到綠條出現(xiàn)的那一刻,真的是舒服,折騰了半天終于弄好了,哈哈。

看似簡(jiǎn)單的幾行代碼,Spring究竟做了哪些工作呢?這個(gè)就是我們需要了解的了。源碼之旅從今天就開(kāi)始了,小伙伴們讓我們一起學(xué)習(xí)吧,后續(xù)有機(jī)會(huì)我會(huì)接著分享自己的源碼學(xué)習(xí)記錄。

最后貼上一份知秋大佬翻譯的Spring源碼的中文文檔,感覺(jué)是真的良心之作了,對(duì)于我這種英語(yǔ)渣渣來(lái)說(shuō),中英文對(duì)照看,是真的太棒了。

Spring Framework 5.0.0.M3中文文檔

Spring Framework 5.0.0.M3英文文檔 提取碼: xvdy

備用地址: 提取碼: t6mi

Spring Framework 各個(gè)版本源碼文檔(英文) 可以下載PDF文檔,比如我需要下載5.0.0.M3版本的文檔,打開(kāi)前面的鏈接之后,選擇5.0.0.M3,然后依次打開(kāi)目錄5.0.0.M3/spring-framework-reference/pdf/spring-framework-reference.pdf,在預(yù)覽界面上右鍵,然后另存為即可。


補(bǔ)充:

1. AJDT插件的安裝


本來(lái)打算把自己寫的測(cè)試用例同步到github上呢,結(jié)果把項(xiàng)目給弄崩了,然后試著這個(gè)博客再重新編譯了一次,完美編譯和上傳到github上。不過(guò)這次搞好了那個(gè)AspectJ插件的安裝,雖然版本和我用的Eclipse版本不一致,但還是裝上了。

這里放上AJDT的頁(yè)面鏈接:https://www.eclipse.org/ajdt/downloads/

目前最新的版本是適用于Eclipse 4.10的,我使用的是4.11,但是我還是裝了這個(gè)。

總結(jié)

以上是生活随笔為你收集整理的使用eclipse导入spring-framework-5.0.x源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。