天天看點

spring源碼分析-本地環境搭建

最近在學習spring源碼,随着學習的深入,在感歎spring的強大的同時,也覺得學的越多,好像不明白的地方越多,是以決定開始寫部落格,以此用來記錄學習的過程。

很多人平時工作學習中可能也會零零散散的看過一些spring的源碼,但是都是在自己的項目中,看過spring的jar包中的class或者source。從今天開始,我要在spring的項目中看源碼、做調試。。。感覺自己要起飛了!

一、spring本地環境建構

以下環境都是基于windows 10系統搭建

  • java版本:8+
  • IDE:idea2019.2.3
  • gradle:5.6.3
  1. jdk下載下傳安裝略過
  2. gradle下載下傳安裝:https://blog.csdn.net/zhaokai0130/article/details/81008719
  3. 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源碼下載下傳

spring源碼分析-本地環境搭建
  • idea中建構spring項目

新增project-

spring源碼分析-本地環境搭建
spring源碼分析-本地環境搭建
spring源碼分析-本地環境搭建

 以下一直下一步,最後編譯時間比較長,應該在1小時左右,運氣不好要半天,哈哈沒辦法,等着就好。

  • 測試demo

在spring項目中建立一個module,在改moudle中建立一個測試類TestService.java

spring源碼分析-本地環境搭建

 配置類如下

spring源碼分析-本地環境搭建

 main方法執行如下

spring源碼分析-本地環境搭建

 我們可以看到,在新建立的moudle裡面的測試類加上了@component注解,經過spring容器啟動後我們通過 ac.getBean(TestService.class) 這行代碼成功的獲得的spring容器中的對象。

至此,我們成功的完成的spring開發環境的搭建,并通過DEMO進行了驗證,下面我們将開啟spring的全新旅程,開始讀源碼啦!