1、找到spring源碼的github地址
github地址 https://github.com/spring-projects/spring-framework
image.png
2河爹、選擇自己需要的版本
image.png
3变丧、復制github代碼拉取路徑
image.png
4、idea拉取代碼
因為比較懶 不想先拉下來再導入idea狡蝶,我這里直接用idea拉取
image.png
image.png
5庶橱、拉取完后進行編譯
這里有個import-into-idea.md文件,里面也有步驟
image.png
- 編譯前最好改一些依賴下載的倉庫贪惹,不然下載依賴速度感人
修改文件:build.gradle
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
image.png
image.png
改完可以編譯構建了苏章,編譯命令
gradlew :spring-oxm:compileTestJava
image.png
編譯的時候會下載一些依賴包 一般很慢,編譯完右邊會出來gradle項目依賴
image.png
6奏瞬、編譯好了枫绅,隨便點一個測試類試一下是成功的
image.png
7、為了方便區(qū)分源碼和自己的測試代碼硼端,我一般自己新加一個測試模塊
image.png
image.png
接下來一路點next,添加模塊名稱就好了
添加完模塊并淋,總項目的setting.gradle文件會把你的模塊添加進去,多一行include
image.png
8珍昨、重要的事情:需要在自己添加的模塊的構建文件中县耽,增加依賴
spring-context和spring-instrument句喷、junit這幾個必須的,不然一會會報錯酬诀,說包找不到
添加完可以去右上角的gradle依賴按鈕刷新一下
image.png
image.png
9脏嚷、開始寫測試代碼
image.png
這幾個文件不截圖了 直接上代碼,截圖太累
類代碼
package org.springframework.beans;
/**
* @author
* @descrtption
* @time 2021/12/25 18:09
*/
public class MyTestBeanCreate {
private String userName;
private String passWord;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
@Override
public String toString() {
return "MyTestBeanCreate{" +
"userName='" + userName + '\'' +
", passWord='" + passWord + '\'' +
'}';
}
}
配置文件
<?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 id="testhello" class="org.springframework.beans.MyTestBeanCreate">
</bean>
</beans>
測試代碼
import org.junit.Test;
import org.springframework.beans.MyTestBeanCreate;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.util.Assert;
/**
* @author
* @descrtption
* @time 2021/12/25 18:14
*/
public class MyhelloTest {
@Test
public void testMyHello(){
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring-mytest.xml");
MyTestBeanCreate doimyakon =null;
Assert.hasText("doim yakon","doimyakon must not be null");
Assert.notNull(doimyakon,"doimyakon must not be null");
doimyakon = applicationContext.getBean(MyTestBeanCreate.class);
Assert.notNull(doimyakon.getUserName(),"UserName must not be null");
System.out.println(doimyakon);
}
}
新手入坑瞒御,如有錯誤父叙,歡迎評論指教!k热埂趾唱!
有不完善的也歡迎評論,我有空會補充哦蜻懦!
歡迎關注甜癞!我會出后續(xù)spring源碼學習筆記哦!M鹉恕悠咱!