目錄
從事it已經有幾年了,不斷是全棧還是後端,但是對Spring的源碼一直不是很瞭解,在工作中涉及到原理性內容總是淺嘗輒止,下定決定提升自我,搞懂Spring從這裏開始。說練就練。第一節搭建Spring本地調試環境。
開發工具:IDEA2019+ Java8 + gradle4.10.2 +mac
工欲善其事,必先利其器,這裏簡述gradle的安裝。
gradle安裝及配置
1.下載gradle安裝包
下載完成後解壓,放到自己的目錄位置/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源碼環境已搭建完成,小夥伴兒們在搭建過程中如果遇到問題歡迎留言討論,聰明的你趕快行動吧。