前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Spring 5.0.x 源码分析(第一篇)基础介绍和环境搭建

Spring 5.0.x 源码分析(第一篇)基础介绍和环境搭建

作者头像
leehao
发布于 2025-02-11 03:22:15
发布于 2025-02-11 03:22:15
8800
代码可运行
举报
文章被收录于专栏:leehaoleehao
运行总次数:0
代码可运行

一、Spring框架是一个分层架构,包含一系列的功能要素,大约分为20个模块。这些模块被总结为以下几个部分。

1、Core Container,Core Container包含有Core、Beans、Context和Expression Language模块,为核心容器

2、Data Access/Integration,该层包含JDBC、ORM、OXM、JMS和Transaction模块。

3、Web,Web上下文模块简历再应用程序上下文模块之上,为基于Web的应用程序提供了上下文。包括Web、Web-Servlet、Web-Struts和Web-Porlet模块。

4、AOP,面相切面编程的实现,可以定义例如方法拦截器和七点,降低逻辑代码的耦合性。

5、Test,支持使用Junit和TestNG对Spring进行测试。

二、环境搭建

1、获取源码,本文以Spring 5.0.x为例。https://github.com/spring-projects/spring-framework/tree/5.0.x

2、使用git clone 至本地。

3、下载gradle,解压到某个文件夹,将bin目录加入到环境变量。

4、切换阿里镜像,在用户目录/.gradle/下新建文件init.gradle,输入如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
allprojects{

 repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all {
            ArtifactRepository repo ->
                if (repo instanceof MavenArtifactRepository) {
                    def url = repo.url.toString()
                    if (url.startsWith('https://repo1.maven.org/maven2')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                        remove repo
                    }
                    if (url.startsWith('https://jcenter.bintray.com/')) {
                        project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                        remove repo
                    }
                }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
 }

5、编译,到spring-framework路径下执行命令gradle cleanIdea :spring-oxm:compileTestJava,等待编译完成(注:编译过程中会自动联网下载依赖)。

3、导入开发工具,本文以IDEA为例,选取Gradle构建,因为spring5.0.x是由Gradle构建的。

4、导入后,会自动编译,编译好之后,界面如下:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
开工:Spring 完美导入 IDEA
春节期间,有小伙伴私信我说想要研究下Spring的源码,想让我出一期教程来实现IDEA导入Spring源码,今天它来了~
阿Q说代码
2022/02/16
9080
开工:Spring 完美导入 IDEA
【Android】AS环境安装并运行第一个Android程序
下载地址:https://developer.android.google.cn/studio/
DevFrank
2024/07/24
1130
【Android】AS环境安装并运行第一个Android程序
听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译
https://github.com/spring-projects/spring-framework/wiki/Build-from-Source
程序员DMZ
2020/07/06
8990
为Gradle设置镜像,解决jcenter依赖无法下载或者下载过慢问题
这其实是一个烂大街的教程了。百度上一堆解决方案,好用的没几个。所以决定温习一下,因为最近写了几个Flutter插件,有很人多表示无法下载Android依赖,于是乎又是翻墙又是如何如何。其实gradle依赖是不需要翻墙的,不过下载速度很不美妙,加之一些网络状况也不是太好,所以需要使用国内镜像来解决这个问题。当然了,使用国内镜像也可能会有弊端,如更新不及时,但是确实可以解决问题。
JarvanMo
2018/10/11
5.8K0
Gradle安装使用
简单介绍 Gradle是一个好用的构建工具 使用它的原因是 1、配置相关依赖代码量少,不会像maven一样xml过多 2、打包编译测试发布都有,而且使用起来方便
似水的流年
2019/12/13
2K0
【gradle】开发环境配置
https://blog.csdn.net/niaonao/article/details/91411044
无敌小菜鸟
2022/06/18
1.4K0
【gradle】开发环境配置
Gradle最佳实践
经过以上配置,基本覆盖了Gradle开发过程中的大部分问题,如果在使用Gradle过程中还有什么问题,欢迎留言讨论。
肉眼品世界
2021/01/25
1.6K0
Gradle系列之使用Intellij IDEA创建项目
去gradle官网下载:https://services.gradle.org/distributions/
SmileNicky
2020/11/12
3.1K0
Gradle系列之使用Intellij IDEA创建项目
用aliyun的Maven仓库下载Android Studio内依赖包
从GitHub导入新项目时,总是在gradle运行中卡壳,各种依赖包无法从jcenter或者Maven仓库下载下来,公司网也差……一上午就这么废了。 如果你也跟我拥有同样的烦恼,来试试下面这个解决方案吧。
爱因斯坦福
2018/09/10
1.2K0
gradle究竟为何频频出错 as的学习笔记
Internal error. Please report to https://code.google.com/p/android/issues
砯芸
2019/10/19
5.4K0
Gradle安装使用
简单介绍 Gradle是一个好用的构建工具 使用它的原因是 1、配置相关依赖代码量少,不会像maven一样xml过多 2、打包编译测试发布都有,而且使用起来方便 3、利用自定义的任务可以完成自己想要的功能 安装 下载地址http://services.gradle.org/distributions/ 下载你所需要对应的版本 下载后解压到你想要的目录 设置环境变量,找到Path,在原始内容基础上加入目录到\bin;,必须以分号结束 如果需要可以设置本地仓库目录GRADLE_USER_HOME
似水的流年
2018/04/16
1.7K0
Gradle安装使用
Gradle使用速记 原
Gradle在安装之前可以选择很多安装方式,这里选择SDKMAN。其他方式见安装说明。
随风溜达的向日葵
2018/08/15
8750
Spring深度源码学习(一) 源码环境搭建
进入gradle->wrapper->gradle-wrapper.properties文件,将gradle改成本地distributionUrl=file:///E:/Download/maven_rep/gradle-4.9-bin.zip
时间静止不是简史
2022/01/05
4720
Spring深度源码学习(一) 源码环境搭建
拥有一套属于自己的Spring源码环境
Spring是一个非常优秀的开源项目,而且基本是互联网的标配。随着这几年的源码阅读习惯,拥有一套自己的源码阅读笔记项目已经是水到渠成。今天就来在本地编译一份,以便于后面记录核心笔记用。
chengcheng222e
2021/11/04
1.4K0
Elasticsearch源码解析:环境搭建
在之前学习Redis的过程中,我就是一边通过文档/视频学习,一边阅读源码。我发现两种方法可以相辅相成,互相补充。阅读文档可以帮助我们快速了解某个功能,阅读源码有助于我们更深入的理解这一功能的实现及思想。
Jackeyzhe
2020/07/22
1.1K0
在Android Studio中修改maven私库的地址[通俗易懂]
在.gradle目录中,修改init.gradle文件,修改其中的maven地址。 在.m2目录中,修改settings.xml文件,修改其中的maven地址。
全栈程序员站长
2022/09/09
2.8K0
教你编译调试Elasticsearch 6.3.2源码
想深入理解 Elasticsearch,阅读它的源码是很有必要的,一来可以了解它内部的具体实现,有助于调优,二来可以了解优秀开源项目的代码架构,提高我们的代码架构能力等
小旋锋
2019/01/21
2.2K0
spring源码搭建_spring实战
在构建spring源码前,我们首先要准备好环境。spring 5.x版本需要jdk1.8及以上版本的支持,jdk版本过低的同学请先升级,这里不做过多累赘。
全栈程序员站长
2022/09/22
8150
spring源码搭建_spring实战
Spring5源码 - 构建源码环境
IDEA 2020.2.1 + OpenJDK8U-jdk_x64_windows_hotspot_8u265b01 + gradle-6.5.1-bin.zip
小小工匠
2021/08/17
5550
2.1 Spring5源码--源码编译
  SpringV5.2.7RELEASE+GradleWapper+jdk1.8.0_131编译
用户7798898
2020/09/27
9450
2.1 Spring5源码--源码编译
相关推荐
开工:Spring 完美导入 IDEA
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验