目录

  • 楔子
  • Spring 源码下载
    • github 下载
    • gitee 下载
  • 将项目导入开发工具
    • 选择版本为 5.2.x
    • 修改 IDEA 中 Gradle 配置如下
    • 确认IDEA中的Kotlin是否生效
    • 添加阿里云镜像
    • Reload项目
    • 耐心等待编译完成
    • 新建Gradle模块

楔子

学习 Spring 源码有两种方式,一种是直接引入 Spring 依赖,读静态源码或者调试;一种是自己编译 Spring 源码。小七觉得如果想要更好的理解 Spring 源码,自己编译 Spring 源码是很有必要的,一方面我们可以修改源码,方便调试验证我们的一些猜想,另一方面也可以写上一些学习的注释,有利于下次阅读复习。

注:本文所说的Spring皆指代spring-framework。

Spring 源码下载

github 下载

https://github.com/spring-projects/spring-framework

如果 github 下载缓慢,你还可以尝试国内 gitee 镜像

gitee 下载

https://gitee.com/mirrors/Spring-Framework

将项目导入开发工具

不同版本的编译要求不同,这里以 idea 为例,小七选择的是 5.2.x。

选择版本为 5.2.x

修改 IDEA 中 Gradle 配置如下

确认IDEA中的Kotlin是否生效

添加阿里云镜像

在根目录的build.gradle中找到 repositories标签,并添加阿里云镜像:

repositories {mavenCentral()// =====阿里云镜像start=====maven { url "https://maven.aliyun.com/nexus/content/groups/public/"}maven { url "https://maven.aliyun.com/nexus/content/repositories/jcenter"}// =====阿里云镜像end=====maven { url "https://repo.spring.io/libs-spring-framework-build" }
}

Reload项目

点击右上角重新载入项目

耐心等待编译完成

新建Gradle模块

模块名称,无所谓,小七这里取名为:spring-example

在新模块下添加spring-context依赖

optional(project(":spring-context"))

编写测试方法

TestConfig

@ComponentScan("com.sheep.config")
public class TestConfig {}

TestOne

@Component
public class TestOne {}

Test

public class Test {public static void main(String[] args) {AnnotationConfigApplicationContextcontext = new AnnotationConfigApplicationContext(TestConfig.class);System.out.println("启动成功=======>"+context.getBean(TestOne.class));}
}

输出结果

手把手教你如何下载编译Spring源码相关推荐

  1. gradle编译spring源码

    文章目录 一.gradle的下载 二.Gradle配置 三.gradle和maven区别 四.下载编译spring源码 1.下载spring源码 2.修改settings.gradle 3.修改gra ...

  2. spring源码编译之gradle环境搭建(编译spring源码真的脑阔疼)

    官网 Gradle | Installation Gradle Distributions 下载 配置环境变量: GRADLE_HOME:D:\software\gradle-6.0.1-all\gr ...

  3. Ubuntu 16.04下载编译Android11源码

    Ubuntu 16.04下载编译Android11源码 Ubuntu 16.04下载编译Android11源码 1. 硬件要求 2. 设置Linux构建环境 1. 安装所需的软件包 2. 安装Open ...

  4. win10最新下载编译Android源码的简易方法分享(已亲测)

    win10最新下载编译Android源码的简易方法分享(已亲测) 准备至少150G的硬盘空间 win+R 输入control 打开程序与功能-启用或关闭Windows功能 勾选"适用于Lin ...

  5. Spring源码剖析(一):编译 spring 源码(2022最新版)

    目录 1. 项目克隆 2. 下载gradle 3. 更改spring在项目中gradle下载位置 4. 阿里云配置 5. 命令行运行 gradlew.bat 6. 导入idea预编译 7. 正式导入i ...

  6. windows下载编译chromium源码

    前言 chromium 源码的下载编译,真的就是如各位前辈说的一样,参考再完整的教程,还是会遇到各种各样的问题.因为每个人的开发环境是不一样的,网络环境也不一样. 一路参考各路大神的教程开始踩坑填坑的 ...

  7. MAC下载编译Android源码及BUG

    前言 配置如下: MAC 10.13 xcode: Version 9.2 jdk: 1.8.0_131 android源码版本: android-8.1.0_r1 最后下载完,.repo 约30G, ...

  8. 【华为云技术分享】手把手教你如何在ARM上源码编译Redis

    一.基础环境信息 OS: Euler OS 2.8 CPU: ARM 二.编译和安装Redis步骤如下 执行如下命令,获取Redis源码. wget http://download.redis.io/ ...

  9. Windows11/Win10+VS2019下载编译WebRTC源码

    前言 1.目前webrtc支持vs2017 vs2019 vs2022版本 (由于下载的是vs2022放在了D盘,但是webrtc中有些编译文件将vs的路径写死,所以重新下载了vs2019版本放在了C ...

  10. 手把手教你如何在 Linux 上源码安装最新版本 R

    如果你使用的 Linux 系统 GCC 版本太低,又没有 root 权限(即使有 root 权限又担心升级 GCC 带来的风险):同时你又不想额外多安装多一个 Anaconda 或者 Minicond ...

最新文章

  1. 【工具篇】抓包中的王牌工具—Fiddler (1-环境搭建)
  2. Android定位开发之百度定位、高德定位、腾讯定位,三足鼎立一起为我所用!
  3. 你的微信昵称,正在暴露你!
  4. 记录一个ansible高级用法与shell结合
  5. Zenoss学习杂记(十)
  6. 我有做短视频的freestyle,要来一起吗?
  7. oracle可以在liux上装_【Oracle】手把手教你做之Linux上安装Oracle11g
  8. 网站跳出率的相关要点介绍
  9. Nexus3.x.x上传第三方jar
  10. 仿京东账户设置APP模板
  11. go.js节点字体设置
  12. Mysql命令行下实现数据的导入
  13. 【转】SQL语句删除和添加外键、主键
  14. python模块导入及属性:import
  15. HTML 5 新标签
  16. 我的5年Python7年R,述说她们的差异在哪里?
  17. 【SLAM】——编译项目orb-slam2_with_semantic_labelling
  18. MySQL讲义第50讲——select 查询之查询练习(八):查询每门课程成绩前三名的学生信息
  19. python 线程锁_Python线程锁的实现
  20. python连接数据库mysql失败_mysql数据库连接失败是什么原因

热门文章

  1. 一个很有趣的游戏(看谁的名字打架厉害)
  2. 编码表(ASCII码GB2312gbkunicodeUTF-8)
  3. 华硕笔记本怎么关闭触控板,禁用按钮是灰色的
  4. virtuebox 安装VBoxGuestAdditions,ubuntu下设置文件共享
  5. 客户端配置ARP绑定防止ARP网关欺骗
  6. [转]Hooked on DTrace
  7. ask调制流程图_一种基于MATLAB的ASK调制仿真方法
  8. 量子计算机物理原理,量子信息物理原理
  9. 哈理工OJ 1184 早起一水(水题)
  10. 扫雷游戏网页版_梦幻西游出网页版,王者出新英雄阿古朵,谁在杀死国产游戏的创新...