读懂spring源码_如何阅读spring源码

读懂spring源码_如何阅读spring源码最近工作需要,使用到spring框架,想对spring框架进行深入的学习一下,看看源代码,提升和沉淀下自己,工欲善其事必先利其器,还是先搭建环境吧。环境搭建sping源码环境的搭建,当然了不想下载源码的话,就直接debug源码也可以的。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

想对spring框架进行深入的学习一下,看看源代码,提升和沉淀下自己,工欲善其事必先利其器,还是先搭建环境吧。

环境搭建

sping源码之前是svn管理,现在已经迁移到了github中了,新版本基于gradle构建项目。所以构建sping源码环境必须先安装github以及Gradle.
当然了如果不想安装github客户端可以直接去git下载项目:
spring中git地址https://github.com/spring-projects/spring-framework

安装github

首先去github官网下载安装包,我用的window环境下载地址:https://desktop.github.com/下载之后双击安装即可,操作比较傻瓜式。

安装Gradle

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。下载地址:http://gradle.org/gradle-download/,下载之后将文件解压配置环境变量如下图所示:
  1. 添加GRADLE_HOME F:\gradle-all\gradle-1.6根据自己的文件目录配置。
  2. 添加变量到path中。(这个不用说添加很简单吧)
读懂spring源码_如何阅读spring源码

Gradle目录结构如下图所示:


读懂spring源码_如何阅读spring源码

测试是否安装成功:
win+R 进入cmd模式输入命令:gradle -version如果安装成功 出现下图gradle 版本信息:
读懂spring源码_如何阅读spring源码

下载spring(如果没有安装github客户端可以按照下面的github地址直接下载即可)

spring git地址为:https://github.com/spring-projects/spring-framework可以直接下载下来防止命令clone比较慢。如下图所示:
读懂spring源码_如何阅读spring源码


打开github或者直接进入gitsehll命名 我的建立在I盘springok文件中
进入
springok文件 右键 git bash打开git命名行如下图: 
读懂spring源码_如何阅读spring源码
输入命令:git clone https://github.com/spring-projects/spring-framework 如下图所示:

读懂spring源码_如何阅读spring源码

耐心等待吧,比较慢。。
下载完成之后命令界面如下图所示:
读懂spring源码_如何阅读spring源码
下载完成之后 看下下载的目录吧:
读懂spring源码_如何阅读spring源码
ok了,但是默认的这种方式并不是eclipse项目,我们还需要将源码转化为eclipse项目。编译的时候比较慢,因为项目需要的jar包可能需要从网络下载。(我第一次下载编译了4个小时最终搞定)最好能翻墙防止下载不下来。怎么编译呢,进入下载的目录打开cmd控制台输入 gradle cleanidea eclipse 开始编译成功之后会提示的,耐心等待吧。
我的工程地址是I:\springok\spring-framework
操作步骤如下:
  1. 进入当前的目录:读懂spring源码_如何阅读spring源码
  2. 命令编译命令为:gradle cleanidea eclipse 
编译成功了 成功转化为eclipse项目。
编译可能遇到的问题:
spring编译错误可能出现的错误:
  1. 提示build.gradle 配置文件错误,解决的办法哪里提示错误把哪行注释或者删除即可(大部分原因因为test测试错误去掉不用测试即可)如下图所示:读懂spring源码_如何阅读spring源码
  2. spring3X系列需要jdk5以上版本,spring4X编译需要jdk8版本,根据自己编译的版本决定。
  3. jar包一直卡着下载不下来(可能网络不好最好能翻墙)

导入eclipse

批量导入到eclipse后如果出现感叹号或者错误,可能依赖的项目还没有编译缺少那个就编译那个吧,所有依赖的项目编译通过,这个编译的项目也通过。
最终效果:
读懂spring源码_如何阅读spring源码

ok大功告成,开启我们的spring源码学习之旅吧。加油奋斗。




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170036.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月12日 上午8:46
下一篇 2022年8月12日 上午8:46


相关推荐

  • Android 游戏引擎汇总

    Android 游戏引擎汇总Android 游戏引擎汇总 1 AndEngine 简介 AndEngine 基于 libGDX 框架开发 使用 OpenGLES 进行图形绘制 同时继承了 BOX2D 物理引擎 因此能实现一些较为复杂的物理效果 在 Rokon 停止更新以后 AndEngine 成为 Android 最为流行的 2D 游戏引擎优点 1 高效 在大运算量好事情况下 使用 C C 本地代码进行开发 比如物理引擎或

    2026年3月17日
    2
  • myeclipse最新版_Myeclipse

    myeclipse最新版_Myeclipse只支持单线程下载,单线程最高速度180K左右,好像下载地址加密了https://anonym-proxy.info/index.php?q=aHR0cDovL2Rvd25sb2FkczQubXllY2xpcHNlaWRlLmNvbS9kb3dubG9hZHMvcHJvZHVjdHMvZXdvcmtiZW5jaC9oZWxpb3MvaW5zdGFsbGVycy9teWVjbGlwc2UtYmx1ZS05LjAtb2ZmbGluZS1pbnN0YWxsZXItd2luZG93cy5leGU%3Dhttps://

    2026年4月14日
    8
  • wing是什么_nativepage原理

    wing是什么_nativepage原理给定 n 本书,编号为 1∼n。在初始状态下,书是任意排列的。在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。输入格式第一行包含整数 T,表示共有 T 组测试数据。每组数据包含两行,第一行为整数 n,表示书的数量。第二行为 n 个整数,表示 1∼n 的一种任意排列。同行数之间用空格隔开。输出格式每组数据输出一个最少操作次数。如果最少操作次数大于或等于 5 次,则输出 5 or more。每个

    2022年8月9日
    8
  • 静态网站(博客)生成器(Static-Site-Generators)

    静态网站(博客)生成器(Static-Site-Generators)一.介绍静态网站生成器到底有多少呢?GitHub用户对静态博客生成程序进行了大规模总结,太多了啊,太恐怖,萌新被吓傻了……GitHub地址:https://github.com/pinceladasdaweb/Static-Site-Generators我选了jekyll博客,因为两大代码仓库GitHub(国外)和Coding(国内)都提供免费空间自动构建Jekyll网站!我的…

    2022年7月11日
    43
  • 最好用的java开发工具_应用开发工具

    最好用的java开发工具_应用开发工具Java开发者常常都会想办法如何更快地编写Java代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用、正在使用或

    2022年8月3日
    7
  • [解疑][TI]TI毫米波雷达系列(五):恒虚警算法(CFAR)原理

    [解疑][TI]TI毫米波雷达系列(五):恒虚警算法(CFAR)原理在雷达应用中经常会用到恒虚警算法 本文介绍经典的算法及用 matlab 实现程序 本文参考相关文章博文整理汇总而成 感谢各位博主的无私分享 介绍统计检测理论是利用信号的统计特性和噪声的统计特性等信息来建立最佳判决的数学理论 主要解决在受噪声干扰的观测中 信号有无的判决问题 其数学基础就是统计判决理论 又称假设检验理论 假设检验是进行统计判决的重要工具 信号检测相当于数理统计中的假设检验 假设就是检验对象的可能情况或状态 对于雷达或声呐检测来说 可以选用两个假设 即目标存在或不存在 由于噪声的存在及观察

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号