Spring源碼解析(一)IDEA搭建源碼調試環境

目錄

gradle安裝及配置

1.下載gradle安裝包

2.配置.bash_profile,並使配置生效

3.驗證

下載 Spring源碼

1.從git下載源碼

2.預編譯

3.導入源碼

4.排除及註釋

新建測試類

1.目錄結構

2.MyConfigClass

3.spring-config.xml

4.輸出


從事it已經有幾年了,不斷是全棧還是後端,但是對Spring的源碼一直不是很瞭解,在工作中涉及到原理性內容總是淺嘗輒止,下定決定提升自我,搞懂Spring從這裏開始。說練就練。第一節搭建Spring本地調試環境。

開發工具:IDEA2019+ Java8 +  gradle4.10.2 +mac

工欲善其事,必先利其器,這裏簡述gradle的安裝。

gradle安裝及配置

1.下載gradle安裝包

https://gradle.org/releases/

下載完成後解壓,放到自己的目錄位置/usr/local/gradle-4.10.2

2.配置.bash_profile,並使配置生效

cd ~

vi .bash_profile

點擊i進入編輯模式,增加如下內容:

#注意,此處路徑需要是你自己的實際路徑,gradle解壓後存放的位置

GRADLE_HOME=/usr/local/gradle-4.10.2

export GRADLE_HOME

export PATH=$PATH:$GRADLE_HOME/bin

上面都配置好了以後輸入wq!

刷新文件source  ~/.bash_profile 

注:我這裏因爲配置了maven故此文件這樣

PATH=$PATH:/usr/local/mysql/bin
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
GRADLE_HOME=/usr/local/gradle-4.10.2
export GRADLE_HOME
M2_HOME=/usr/local/bin/apache-maven-3.6.0
export M2_HOME
export PATH=$PATH:$GRADLE_HOME/bin:${M2_HOME}/bin
export PATH

3.驗證

輸入gradle -version

下載 Spring源碼

1.從git下載源碼

git地址:https://github.com/spring-projects/spring-framework 這裏版本用5.0.x版本

2.預編譯

根據import-into-idea.md文件中說明源碼進行預編譯:./gradlew :spring-oxm:compileTestJava

時間比較長,請耐心等待。

3.導入源碼

打開IDEA,Import  Project ==>選擇源碼下的build.gradle 文件

打開以後下載jar會非常的慢,保持良好的網絡,耐心等耐,如果遇到失敗,則刷新 gradle,會繼續下載jar包。

4.排除及註釋

下載jar包時,要根據import-into-idea.md中說明排除spring-aspect。

 

 中間過程依然會報錯:

修改build.gradle中

kotlinVersion = "1.2.0"

spring-beans.gradle中進行如下注釋

spring-beans.gradle中進行進行如下修改

 

最後執行gradle.build或雙擊下圖

新建測試類

1.目錄結構

2.MyConfigClass

//@Configuration
public class MyConfClass {

	@Bean
	public UserService userService(){
		return new UserService();
	}


	public static void main(String[] args) {
//		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConf.class);
//		String[] names = context.getBeanDefinitionNames();
//		for (String beanName : names){
//			System.out.println(beanName);
//		}
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
		User user = (User) context.getBean("User");
		System.out.println(user.getAge());

	}
}

3.spring-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean class="User">
	<property name="name" value="張三"/>
	<property name="age" value="28"/>
</bean>
</beans>

4.輸出

至此,spring源碼環境已搭建完成,小夥伴兒們在搭建過程中如果遇到問題歡迎留言討論,聰明的你趕快行動吧。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章