一、环境准备

1. jdk1.8.1

做java开发的这个应该能自己找到

2.gradle-4.9 https://services.gradle.org/distributions/

没用过gradle的同学可以将其理解为类似于maven的包管理工具,这里下载gradle-4.9-bin.zip,解压到本地,配置环境变量(GRADLE_HOME=D:/dev/gradle[文件解压路径].,PATH变量新增”%GRADLE_HOME%/bin;“)

打开命令行执行一下gradle -v出现如下提示即成功

3.spring-framework源码包 https://github.com/spring-projects/spring-framework/tree/5.0.x

注意:这里对版本不做解释,只是我目前正在使用的可兼容的版本,spring-framework的源码包有需要最新的可自行切换分支即可。

对于下载或者clone源码比较慢的同学,这里可以通过码云做一下过渡,具体操作如下:

新建仓库-->导入已有仓库-->将github提供的clone地址拷贝过来,导入即可(这里一定要选择https,用ssh的地址是克隆不了的)-->大概2,3分钟即可克隆完成,再从码云下载就会快很多了。

二、项目导入

1.如果是clone的方式,先切到对应分支上;

2.如果是下载zip包的方式,先将压缩包解压到对应的代码目录即可。

发现根目录下有两个文件,如下:

本次使用的编译器是idea,那我们就只看import-into-idea.md文件

根据md文档中给出的步骤

1.预编译spring-oxm通过命令./gradlew :spring-oxm:compileTestJava(注意:给出的命令是Linux环境下的,Windows在执行代码根目录下执行gradlew :spring-oxm:compileTestJava)

我这里由于已经下载好了一次,这里保留一张执行成功的状态。

2.导入idea,可以直接import project->选择源码路径->选择gradle点击next->勾选Use auto-import,且配置一下gradle的安装目录,点击next即可

可以看到上图中最下面一行配置了Gradle VM options,这里也是根据官方提供的md文档中knows issues中所描述的,概括一下就是:如果想通过idea去运行测试案例的话,可以通过配置参数避免内存不足的情况。

接着等待gradle在中心仓库下载jar包,这里给网速比较慢的同学提供一个提速的方法,都知道maven从中心仓库下载jar包的时候速度是比较慢的,gradle也一样,所以建议使用阿里云的仓库去下载,只需要修改build.gradle文件中的下载地址如下:

repositories {
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}

等待下载完成。

最后新建一个自己的module如下[我这里新建了一个spring-peanut],把需要调试的项目包在build.gradle中的dependencies下引入即可。注意:新建module的时候是选gradle而非maven

最后就可以写一个自己的测试入口类去debug源码了。

spring源码(1)---idea基础环境搭建的更多相关文章

  1. spring源码学习之路---环境搭建(一)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 最近已经开始了spring源 ...

  2. Dubbo 源码分析系列之一环境搭建

    环境搭建的步骤有哪些 依赖外部的环境 使用的开发工具 源码的拉取 结构大致介绍 1 依赖的外部环境 安装JDK 安装Git 安装maven 这边我们就不介绍怎么安装这些外部环境了,大家自行从安装这些外 ...

  3. openwrt(一):openwrt源码下载及编译环境搭建

    声明:从网上各位大神的博客学习,整理后记录,非原创. 注:请用非root用户来下载源码 导航: 1. openwrt编译环境搭建 2. openwrt源码下载 3. feeds更新 1. openwr ...

  4. mybatis源码分析之01环境搭建

    直接使用maven搭建一个mybatis的运行环境 1. pom.xml <?xml version="1.0" encoding="UTF-8"?> ...

  5. bigdata_spark_源码修改_本地环境搭建_eclise

    Eclipse 下开发调试环境的配置该小节中使用的各项工具分别为:mac (Windows 7)+Eclipse Java EE 4.4.2+Scala 2.10.4+Sbt 0.13.8+Maven ...

  6. 《Netty实战》源码运行及本地环境搭建

     1.源码路径: GitHub - zzzvvvxxxd/netty-in-action-cn: Netty In Action 中文版 ,中文唯一正版<Netty实战>的代码清单 下载后 ...

  7. [ethereum源码分析](1) dubug环境搭建

    前言 因为最近云小哥哥换了一份工作,新公司比较忙,所以一直没有更新新的博客.云小哥哥新的公司是做区块链的,最近在学习区块链相关的东西(也算是乘坐上了区块链这艘大船).本博客是记录我搭建ethereum ...

  8. Spring源码解析之基础应用(二)

    方法注入 在spring容器中,大部分bean的作用域(scope)是单例(singleton)的,少部分bean的作用域是原型(prototype),如果一个bean的作用域是原型,我们A bean ...

  9. Spring源码解析之基础应用(三)

    组合Java配置 在XML中,我们可以使用<import/>标签,在一个XML文件中引入另一个XML文件,在Java类中,我们同样可以在一个配置类中用@Import引入另一个配置类,被引入 ...

随机推荐

  1. ElasticSearch 6 安装、下载

    1,安装配置JDK 8 参考:官方文档 #为什么是JDK1.8?在ElasticSearch6.2.4中提到:JDK版本必须为:1.8.0_131 以上 > 1,安装JDK1.8-161 #解压 ...

  2. word中英文双引号的样式区分与替换技巧

    https://jingyan.baidu.com/article/3f16e003147ea42590c10349.html 场景:一篇word文档中,想要全选更改字体,使得中文全部为“宋体”,英文 ...

  3. linux内核中#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX的区别

    1. #if IS_ENABLED(CONFIG_XXX) 1.1 IS_ENABLED的定义如下: /* * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CON ...

  4. teraflop级、TFLOPS、TOPS

    FLOPS 每秒浮点运算次数,TFLOPS表示每秒万亿(10^12)次浮点计算: TFLOPS是floating point operations per second 每秒所执行的浮点运算次数. 1 ...

  5. python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议

    socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...

  6. iOS8.0如何使用Touch ID来做验证

    对于Objective-C而言,只要几行代码即可搞定. 比如: #import <LocalAuthentication/LocalAuthentication.h> - (void)vi ...

  7. selenium元素input的value值设置【node.js版本】

    driver.executeScript(‘document.getElementById(“id”).value=“value”’); 这个操作就类似于//$("#id").va ...

  8. lvs,nginx,haproxy的优缺点,适合场景

    Nginx/LVS/HAProxy的基于Linux的开源免费的负载均衡软件. LVS:使用集群技术和Linux操作系统实现一个高性能.高可用的服务器,它具有很好的可伸缩性.可靠性和可管理性,是一款强大 ...

  9. @Component默认是单例还是多例?

    @Component默认是单例还是多例?   答: @Component注解默认实例化的对象是单例,如果想声明成多例对象可以使用@Scope("prototype") @Repos ...

  10. ALV显示金额字段值扩大100倍

    内表数据 物料                  库位          期末庫存金額F0D7004DSA   1PYF       701410.944F0D7004DSA   1SNT      ...