| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
8 | 9 | 10 | 11 | 12 | 13 | 14 | |||
15 | 16 | 17 | 18 | 19 | 20 | 21 | |||
22 | 23 | 24 | 25 | 26 | 27 | 28 | |||
29 | 30 | 1 | 2 | 3 | 4 | 5 |
學習源碼是一件非常耗時費力的事情,需要有足夠的時間和持久的耐心,下面是我閱讀郝佳老師的《Spring源碼深度解析》所做的記錄,書中以Spring3.2講解,使用jdk1.7。
準備工作
1. 安裝github:現(xiàn)在spring源代碼都在github管理,所以首先需要下載githup,下載地址http://windows.github.com;
2. 安裝gradle構(gòu)建工具:下載地址http://www.gradle.org/downloads,下載完后進行解壓到任意盤符,然后增加環(huán)境變量GRADLE_HOME,并在環(huán)境變量bin中增加%GRADLE_HOME%/bin,打開DOS窗口,運行g(shù)radle -v,出現(xiàn)版本號等信息,表示安裝成功;
3. 下載Spring源碼:首先打開git shell,切換到你的工作目錄,然后輸入以下命令:git clone git://github.com/SpringSource/Spring-framework.git,后面一串是源碼下載地址。大概半小時的樣子,就可以下載完成,這時候在你的工作目錄中就會出現(xiàn)Spring-framework的目錄,里面有Spring各組件的源碼包;
4. 構(gòu)建導入:下載下來的代碼不能直接導入Eclipse,要先轉(zhuǎn)換成Eclipse能讀取的形式。因為所有組件都會依賴spring-core,所有我們首先要轉(zhuǎn)換Spring-core工程,在命令窗口切換到Spring-core工程,運行g(shù)radle cleanidea eclipse命令,我們會看到開始下載工程所依賴的jar包,幾分鐘后執(zhí)行完畢,再來看Spring-core文件夾,多了.classpath、.project等文件,這是Eclipse工程所必須的,然后可以把他導入到eclipse。因為大部分Spring組件都會用到 spring-beans、spring-context、spring-aop,而他們又依賴spring-expression、spring-instrument,所以我們干脆先把這些工程都進行轉(zhuǎn)換并導入eclipse。
我初次導入過程并不順利,拿spring-core為例,其中以來的一個jar包是Spring-framework/spring-core/build/libs/spring-asm-repack-4.0.jar,但我工程里面并沒有他,只好在網(wǎng)上下載了一個,并加入構(gòu)建路徑,其次我還發(fā)現(xiàn)少commons-pool-1.5.3.jar、spring-cglib-repack-3.0.jar,都一一下載,最后還是報錯沒有java.util.concurrent.ForkJoinPool類,發(fā)現(xiàn)這個版本必須使用jdk1.7以上,1.6沒有這個包。折騰半天,終于幾個工程沒變異錯誤了,向前邁進了一步。