说在前头:本人为大二在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,能力有限,文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正。若在阅读时有任何的问题,也可通过评论提出,本人将根据自身能力对问题进行一定的解答。
Spring 框架是一个 Java 平台,为开发 Java 应用程序提供全面的基础架构支持。Spring 处理基础结构,因此您可以专注于应用程序。
Spring 使您能够从“普通的 Java 对象”(POJO)构建应用程序,并将企业服务非侵入性地应用于 POJO。此功能适用于 Java SE 编程模型以及全部和部分 Java EE。
介于本文章侧重点为Spring源码的构建,对于Spring的介绍先讲到这里,若想对Spring有更深刻的了解,建议通过阅读Spring的官方文档或网上的Spring中文文档进行了解。在这里给大家列出官方文档地址和中文文档地址,大家自行选择阅读。
Spring官方文档:https://spring.io/projects/spring-framework
Spring中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference/overview.html#overview-spring
Spring5.0.2源码
Gradle4.0
IntelliJ IDEA 2019.1
下载Spring.5.0.2源码
github下载地址:
https://github.com/spring-projects/spring-framework/archive/v5.0.2.RELEASE.zip
如果遇到无法访问github或下载时非常缓慢的问题,可以关注微信订阅号“Bosen的技术分享栈”
回复“spring”即可获取Spring5的源码百度云分享地址,
输入获取码下载解压即可。将下载好的源码解压(目录结构如下)
打开build.gradle文件找到下图对应的位置,
添加阿里云镜像
maven { url "http://maven.aliyun.com/nexus/content/groups/public/"}
下载Gradle4.0
因为spring5源码项目是使用gradle构建的,
所以我们需要下载gradle帮我们构建源码阅读环境,
这里下载官方推荐的4.0版本。访问官网进行下载:
https://gradle.org/releases/
下载完成后,解压到对应的路径即可
接下来还需配置gradle的环境变量(根据下图配置)
配置好环境变量后,打开命令行界面输入
gradle -v
若输入信息如下图,即设置成功
gradle配置完成后,我们将命令行目录切换到我们源码的根目录并执行
gradlew.bat(如下)
执行gradlew.bat后,项目将开始构建源代码,如下图即构建成功
将源码构建好后,我们需要将项目构建成eclipse项目,
我们继续执行根目录下的
import-into-eclipse.bat文件开始构建,
网络良好的情况下,十分钟左右即可构建完成。构建成功后如下图所示
此时我们已经将spring源码构建为eclipse项目,
我们只需使用idea打开该项目即可(如下图)
点击Ok,idea将会自动下载对应的依赖,大约需等待十分钟左右
等待idea下载完成后,项目栏如上图所示
要如何检验自己的项目是否以及成功构建?
方法很简单,如下图路径找到ApplicationContext
然后使用快捷键ctrl+alt+shitl+u查看
如果生成了下面的类关系图即表明你的源码构建成功
接下来我们开始对我们构建好的spring进行使用、测试
测试前我们需要对源码进行预编译(如下图)
等待预编译完成后,就可以正式开始编写我们的测试代码,测试代码结构如下
ApplicationConfig 配置类
IndexService 模拟逻辑处理类
Application 启动类
package com.bosen.www.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* 配置类
* @author Bosen 2021/5/15 5:52
*/
@ComponentScan("com.bosen.www")
@Configuration
public class ApplicationConfig {}
package com.bosen.www.service;
import org.springframework.stereotype.Service;
/**
* 模拟业务逻辑处理
* @author Bosen 2021/5/15 5:54
*/
@Service
public class IndexService {
public String test() {
return "This is IndexService test();";
}
}
package com.bosen.www;
import com.bosen.www.config.ApplicationConfig;
import com.bosen.www.service.IndexService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Application {
public static void main(String[] args) {
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext(ApplicationConfig.class);
IndexService service = applicationContext.getBean(IndexService.class);
System.out.println(service.test());
}
}
测试程序运行结果如下
如果程序在运行时报如下错误,这是因为缺失AspecrJ而导致的,
原因可能是构建时,因为网络问题未成功下载到AspecrJ,
因此需要我们自己手动下载AspecrJ,具体操作可参考下面的文章。
https://blog.csdn.net/weixin_43899635/article/details/110368806
经过上面的“九九八十一难”我们终于成功构建好了Spring5的源码,其实总的构建过程并不复杂,虽然在构建过程可能还会遇到各种错误,但只要静下心来分析错误原因,一步一步排查就可以很轻易的构建成功。
那今天就讲到这里吧,刚构建好Spring5源码的你是不是已经迫不及待的想要”一睹为快“了呢?一起加油吧!
长按二维码关注