目录
第一章 源码安装前言
由于spring的源码常常以语言和高深莫测的地位存在,而源码解析少之又少,遂此系列文章出现,本系列将使用浅显的语言和图解进行描述。但是由于技术的性质,此系列依旧对理解能力有要求,面向使用过spring的开发者
全是干货,带水的不要!好戏开场了!
一、spring源码下载
首先需要下载源代码地址:https://github.com/spring-projects/spring-framework
本次使用的Spring版本:5.3.8
导入项目到IDEA,直接使用open打开即可,会直接导入,使用Gradle管理依赖。
向build.gradle添加仓库
repositories {
mavenCentral()
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
maven { url "https://repo.spring.io/libs-spring-framework-build" }
}
配置完成之后点击刷新,然后等待依赖导入,大概时间30min。
二、构建源码及使用
1.源码构建
构建源码其实就是build,依旧使用gradle,在构建源码的时候需要先将
spring-aspects模块unload,此模块会影响构建,暂时先取消加载。
然后再重复构建一次,此时最终显示build sucess
2.使用构建源码
代码如下(示例):
package com.frame.test;
/**
* @program: spring
* @description: 1
* @author: WFX1024
* @create: 2021-06-16 14:13
**/
public class Entry1 {
private String name;
private String id;
public Entry1(String name, String id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
package com.frame.test;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @program: spring
* @description: 1
* @author: WFX1024
* @create: 2021-06-16 14:12
**/
@Configuration
public class TmpConfig {
@Bean
public Entry1 entry1(){
return new Entry1("zszxz","123");
}
}
package com.frame.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
/**
* @program: spring
* @description: 测试
* @author: WFX1024
* @create: 2021-06-16 14:06
**/
public class Test {
public static void main(String[] args) {
// 获取容器
ApplicationContext ac =new AnnotationConfigApplicationContext(TmpConfig.class);
// 获取 bean
Entry1 user = (Entry1) ac.getBean("entry1");
System.out.println(user.toString());
}
}
在主方法内测试常规的spring bean能力,运行结果正常即可
总结
至此就完成了源码的构建,源码的使用。下一章节我们开始走读源码。