spring源码下载教程
2025-09-13 18:40 Spiderman25 阅读(79) 评论(0) 收藏 举报这次以spring v5.3.9版本为例子,讲解如何搭建阅读spring的环境
1、源码下载
下载地址:https://github.com/spring-projects/spring-framework
建议用clone进行下载,因为zip包的方式在idea导入项目时会存在报错的问题。
2、gradle配置
spring中内置了gradle
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
但是idea下载gradle时会很慢,所以如果让idea下载会等很久,所以现在有两种方法
第一种:我们手动下载下来,然后放到任意目录下,把distributionUrl修改为file:///D:/ProgramFiles/gradle-6.8.3-bin.zip,配好GRADLE_USER_HOME(本地仓库)、init.gradle(网络仓库)
第二种:使用本地的gradle
使用Internet Download Manager下载一样版本的gradle
配置方法参照https://blog.csdn.net/GoodburghCottage/article/details/128169907
配好GRADLE_HOME(安装目录)、GRADLE_USER_HOME(本地仓库)、init.gradle(网络仓库)
init.gradle内容:
allprojects { repositories { mavenLocal() maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public" } maven { name "Bstek" ; url "http://nexus.bsdn.org/content/groups/public/" } mavenCentral() } buildscript { repositories { maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public' } maven { name "Bstek" ; url 'http://nexus.bsdn.org/content/groups/public/' } maven { name "M2" ; url 'https://plugins.gradle.org/m2/' } } } }
关于init.gradle存放的位置
把项目导入idea,切换到v5.3.9的标签

添加jdk11,因为这次的版本使用的是jdk11,在官网下载即可,然后解压缩,在idea中配置jdk11

设置Gradle的配置
如果使用项目自带的gradle这样配置

如果使用本地的gradle这样配置

如果导入过程中提示无法从某个仓库中下载东西,就把这个仓库在init.gradle中去掉
最后完成导入

新建自己的模块



文件内容
AppConfig
package org.springframework.csp; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @Configuration @ComponentScan(basePackages = "org.springframework.csp") public class AppConfig { }
HelloService
package org.springframework.csp; import org.springframework.stereotype.Service; @Service public class HelloService { public String sayHello() { return "Hello, Spring!"; } }
Main
package org.springframework.csp; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main { public static void main(String[] args) { // 创建 Spring 容器 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); // 从容器中获取 HelloService Bean HelloService helloService = context.getBean(HelloService.class); // 使用 Bean System.out.println(helloService.sayHello()); // 关闭容器 context.close(); } }
build.gradle
plugins { id 'java' } group 'org.springframework' version '5.3.9' repositories { mavenCentral() } dependencies { implementation project(':spring-context') implementation(project(":spring-core")) implementation(project(":spring-aop")) implementation(project(":spring-beans")) implementation(project(":spring-context")) implementation(project(":spring-jdbc")) implementation(project(":spring-orm")) implementation(project(":spring-tx")) implementation(project(":spring-web")) implementation(project(":spring-webflux")) implementation(project(":spring-webmvc")) implementation(project(":spring-websocket")) } test { useJUnitPlatform() }
点击main方法运行,最后输出

浙公网安备 33010602011771号