最近在學習spring源碼,隨着學習的深入,在感嘆spring的強大的同時,也覺得學的越多,好像不明白的地方越多,因此決定開始寫博客,以此用來記錄學習的過程。
很多人平時工作學習中可能也會零零散散的看過一些spring的源碼,但是都是在自己的項目中,看過spring的jar包中的class或者source。從今天開始,我要在spring的項目中看源碼、做調試。。。感覺自己要起飛了!
一、spring本地環境構建
以下環境都是基於windows 10系統搭建
- java版本:8+
- IDE:idea2019.2.3
- gradle:5.6.3
- jdk下載安裝略過
- gradle下載安裝:https://blog.csdn.net/zhaokai0130/article/details/81008719
- spring源碼下載:https://github.com/spring-projects/spring-framework
這里啰嗦一句:建議IDE用idea最新的2019.2.3版本,spring framework選擇5.1.x,由於大多數人工作中都在使用maven做構建工具,spring官方是使用gradle做構建的,不過構建工具都大同小異,簡單了解一下就好了。
OK,話不多說,進入正題
選擇5.1.x版本,由於下載速度問題,不直接git clone,選擇下載zip包到本地,以下演示源碼下載、環境構建、編譯、測試的整個過程。
-
spring5.1.x源碼下載
-
idea中構建spring項目
新增project-
以下一直下一步,最后編譯時間比較長,應該在1小時左右,運氣不好要半天,哈哈沒辦法,等着就好。
-
測試demo
在spring項目中新建一個module,在改moudle中新建一個測試類TestService.java
配置類如下
main方法執行如下
我們可以看到,在新創建的moudle里面的測試類加上了@component注解,經過spring容器啟動后我們通過 ac.getBean(TestService.class) 這行代碼成功的獲得的spring容器中的對象。
至此,我們成功的完成的spring開發環境的搭建,並通過DEMO進行了驗證,下面我們將開啟spring的全新旅程,開始讀源碼啦!