Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)

embedded/2025/1/13 15:53:01/

1、下载jdk安装并配置环境变量(自行百度)

https://www.oracle.com/java/technologies/downloads/#java8

springframework53x_3">2、下载spring-framework源码,切换分支到5.3.x

https://github.com/spring-projects/spring-framework.git
备用地址
https://gitcode.com/gh_mirrors/sp/spring-framework

通过IDEA clone源码

gradle_751__10">3、下载gradle 7.5.1, 配置环境变量(自行百度)

https://mirrors.aliyun.com/gradle/distributions/v7.5.1/

4、配置IDEA

ctrl + alt + s 打开设置
配置IDEA的本地gradle环境
配置<a class=gradle使用本地" />
配置项目字节码版本
在这里插入图片描述
ctrl + alt + shift + s 打开项目结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、配置 gradle/wrapper/gradle-wrapper.properties 文件参数
5.1配置gradle下载地址为本地(路径为gradle二进制文件压缩包路径)
distributionUrl=file:///D:/gradle/gradle-7.5.1-bin.zip
在这里插入图片描述
配置仓库镜像
根目录下文件\buildSrc\build.gradle

gradle">repositories {maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/central' }mavenCentral()gradlePluginPortal()
}

根目录下文件\build.gradle
mavenCentral() 之前加上

gradle">			maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/central' }maven { url "https://maven.aliyun.com/repository/spring-plugin" }maven { url "https://maven.aliyun.com/repository/gradle-plugin" }

在这里插入图片描述

6、新建模块,测试环境

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加依赖 /spring-f2-test/build.gradle
在这里插入图片描述
添加测试类

package com.lister;
public class User {String name;public User(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +'}';}
}
package com.lister;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JavaConfig {@Beanpublic User user(){return new User("lister");}
}
package com.lister;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainApplication {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class);User user = (User) context.getBean("user");System.out.println(user);}
}

运行MainApplication的main方法输出信息如下
在这里插入图片描述
测试spring-framework项目本地源码构建完成


http://www.ppmy.cn/embedded/153594.html

相关文章

MySQL教程之:常见查询示例

下面举例说明如何用MySQL解决一些常见问题。 一些示例使用表shop来保存某些交易者&#xff08;经销商&#xff09;的每件商品的价格&#xff08;商品编号&#xff09;。假设每个交易者每件商品都有一个固定的价格&#xff0c;那么&#xff08;article&#xff0c;dealer&#…

leetcode-------mysql

SQL 面试宝典 10. 人口流动分析 - 力扣&#xff08;LeetCode&#xff09; 表: 各城市人口流动表 ---------------------- | 字段名称 | 类型 | ---------------------- | 流出城市 | varchar | | 流入城市 | varchar | | 交通工具 | int | | 日期 …

从预训练的BERT中提取Embedding

文章目录 背景前置准备思路利用Transformer 库实现 背景 假设要执行一项情感分析任务&#xff0c;样本数据如下 可以看到几个句子及其对应的标签&#xff0c;其中1表示正面情绪&#xff0c;0表示负面情绪。我们可以利用给定的数据集训练一个分类器&#xff0c;对句子所表达的…

基于Python的音乐播放器 毕业设计-附源码73733

摘 要 本项目基于Python开发了一款简单而功能强大的音乐播放器。通过该音乐播放器&#xff0c;用户可以轻松管理自己的音乐库&#xff0c;播放喜爱的音乐&#xff0c;并享受音乐带来的愉悦体验。 首先&#xff0c;我们使用Python语言结合相关库开发了这款音乐播放器。利用Tkin…

第25章 汇编语言--- 信号量与互斥锁

信号量&#xff08;Semaphore&#xff09;和互斥锁&#xff08;Mutex&#xff0c;全称Mutual Exclusion Object&#xff09;是两种用于管理对共享资源的访问的同步机制。它们在多线程或多进程编程中非常重要&#xff0c;可以确保同一时间只有一个线程或进程能够访问特定的资源&…

VTK知识学习(33)-交互问题2

1、前言 主要是针对前面有过实现不了交互的情况进行说明&#xff0c;经过一些尝试和分析调用API&#xff0c;总算实现RenderWindowControl函数回调正常串接&#xff0c;当然这个移动处理事件的效果目前也没有确认。 2、使用 vtkImageReslice reslice vtkImageReslice.New();p…

Git 命令代码管理详解

一、Git 初相识&#xff1a;版本控制的神器 在当今的软件开发领域&#xff0c;版本控制如同基石般重要&#xff0c;而 Git 无疑是其中最耀眼的明珠。它由 Linus Torvalds 在 2005 年创造&#xff0c;最初是为了更好地管理 Linux 内核源代码。随着时间的推移&#xff0c;Git 凭借…

并发设计模式 - 优雅终止线程

1、优雅终止线程的设计模式 思考&#xff1a;在一个线程 T1 中如何优雅的终止线程 T2&#xff1f; 正确思路&#xff1a;两阶段终止模式 1.1 两阶段终止&#xff08;Two-phase Termination&#xff09;模式——优雅的终止线程 两阶段终止&#xff08;Two-phase Termination…