本文記錄springframework源碼構建的基本流程,環境是基於JDK 1.8.0(好像1.8以下會比較麻煩)IDE是Idea 2019 2.2(最好是2019版的2.x)
配置gradle環境
1、下載gradle https://www.jianshu.com/p/d9329117aa2f 目前安裝的版本是4.9
2、配置環境變量
3、gradle -version
4、配置好環境后可以去設置idea,以便后期編譯spring項目時使用gradle
下載源碼
前往GitHub下載spring-project源碼。
導入IDE
File - New - Project from Existing Source... - 選擇本地源碼文件的目錄
編譯spring項目
1、編譯spring-context生成out文件(這里有的時候idea在導入項目時就編譯好了有的時候沒有編譯);
2、編譯spring-core生成out文件,這個項目也可以這樣編譯,在Gradle工具欄目中執行 compileJava
這里編譯會去下載一個CGlib相關的jar包,在5.x時沒有攜帶這個包。如果在此步之前進行使用項目的話會報錯,應該就是沒這個包導致的。
如果到此都順利的話應該就沒啥問題了。
3、當然也可以操作Gradle工具上的刷新按鈕,但是會很慢,以上兩步編譯完了應該就可以了,這個Reimport會很慢
創建項目
1、創建一個新模塊
右鍵spring總項目 - new - mould
2、修改build.gradle文件
compile(project(":spring-context"))
3、創建自定義類
創建一個自定義的類來添加@Component注解是否能引入成功
創建一個test類看是否能添加bean成功
AppConfig類
import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; @Configuration @Component //這個注解主要是為了檢測能否添加注解 public class AppConfig { }
test類
import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class test { public static void main(String[] args) { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); System.out.println(ac.getBean(AppConfig.class)); } }
這里如果出現報錯,比如xxx.java中找不到xxx符號,這時可以去找到這個類的項目模塊重新編譯下,這樣能解決80%的異常。