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