下载Spring4.1.x源码并用IntelliJ IDEA打开

简介: 为了定位问题或者深入学习Spring知识体系,需要在本地IDE阅读Spring源码,本篇给出了基本操作步骤

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos

本篇概览

  • 在学习Spring的时想了解一些重要接口和类的源码,本文讲述了Spring工程的下载和在IDEA上打开的操作,共需要以下几步:
  1. 安装JDK;
  2. 安装gradle;
  3. 下载spring源码;
  4. 切换到4.1.x分支;
  5. 用IntelliJ IDEA导入;
  • 接下来准备开始吧;

版本参考

  • 以下列出我本次实战用到的各个工具的版本,以供您参考:
  1. 操作系统:win10
  2. Git Bash版本2.15,并且已配置好账号信息,可以正常执行git命令;
  3. JDK:1.8.0_111
  4. gradle:2.14.1(不要用4.x版本,会提示找不到插件"sonar-runner")
  5. IDEA版本如下图:

这里写图片描述

安装JDK

  • 这个就不多说了,记得要配置环境变量JAVA_HOME;

安装gradle

  1. 在此下载:http://services.gradle.org/distributions/
  2. 下载gradle-2.14.1-bin.zip文件并解压;
  3. 设置环境变量GRADLE_HOME,值是解压后的gradle-2.14.1文件夹的目录;
  4. 将gradle-2.14.1/bin的路径添加到PATH中;
  5. 在控制台执行gradle -version可以看到以下信息,表明安装和设置成功:
C:\Users\12167>gradle -version

------------------------------------------------------------
Gradle 2.14.1
------------------------------------------------------------

Build time:   2016-07-18 06:38:37 UTC
Revision:     d9e2113d9fb05a5caabba61798bdb8dfdca83719

Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_111 (Oracle Corporation 25.111-b14)
OS:           Windows 10 10.0 amd64

下载spring源码

  1. 登录GitHub;
  2. spring项目的地址是:https://github.com/spring-projects/spring-framework,点击右上角的Fork按钮,如下图:

这里写图片描述

  1. Fork成功后网页会自动跳转到新的项目主页,如下图,点击红框1和红框2,复制新项目的git地址,例如我这里的地址是:https://github.com/zq2599/spring-framework.git

这里写图片描述

  1. 打开命令行终端,执行以下命令开始下载:
git clone https://github.com/zq2599/spring-framework.git
  1. 在spring-framework文件夹下,执行git branch -a查看分支列表,如下:
12167@zhaoqinwin10 MINGW64 /d/study/spring-framework (master)
$ git branch -a
  4.0.x
  4.1.x
* master
  remotes/origin/3.0.x
  remotes/origin/3.1.x
  remotes/origin/3.2.x
  remotes/origin/4.0.x
  remotes/origin/4.1.x
  remotes/origin/HEAD -> origin/master
  remotes/origin/beanbuilder
  remotes/origin/conversation
  remotes/origin/gh-pages
  remotes/origin/master
  1. 执行命令 git checkout 4.1.x切换到4.1.x分支;

用IntelliJ IDEA导入工程

  • 打开IntelliJ,点击Import Porject按钮,如下图红框:

这里写图片描述

  • 选中spring-framework文件夹;
  • 选择”Import project from external model“,再选中"Gradle",如下图,点击"Next"按钮:

这里写图片描述

  • 接下来的页面是一些配置信息,选择如下图,注意要确保Grandle和Jdk的设置是有效的:

这里写图片描述

  • 等待IDEA导入和构建完成,这里比较耗时,因为要下载一些依赖库,如下图:

这里写图片描述

看源码和类图

  • 导入完成后,就可以愉快的阅读源码了,遇到重要的类和接口可以用IDEA自带的类图工具查看类图和继承关系,操作方法是在源码上右键选择"Diagrams -> Show Diagram",更详细的操作请参考《用IntelliJ IDEA看Java类图》

几个特别说明

  1. 源码文件夹下的import-into-idea.md文件中,说要先执行命令./gradlew cleanIdea :spring-oxm:compileTestJava再用IDEA导入工程,经过实测不需要执行此命令,就按前面的步骤直接导入工程也没问题,当然前提是您的IDEA版本和我的一致或更高;
  2. gradle版本请用2.14.1,此版本可以构建成功,我试过4.6版本,会提示找不到插件"sonar-runner";
  3. 我也试过在导入时选择“Use gradle 'wrapper' task configuration”,如下图,也会导入失败,提示“Could not determine the class-path for interface org.jetbrains.kotlin.kapt.idea.KaptGradleModel.”:

这里写图片描述

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
3月前
|
设计模式 Java 开发者
如何快速上手【Spring AOP】?从动态代理到源码剖析(下篇)
Spring AOP的实现本质上依赖于代理模式这一经典设计模式。代理模式通过引入代理对象作为目标对象的中间层,实现了对目标对象访问的控制与增强,其核心价值在于解耦核心业务逻辑与横切关注点。在框架设计中,这种模式广泛用于实现功能扩展(如远程调用、延迟加载)、行为拦截(如权限校验、异常处理)等场景,为系统提供了更高的灵活性和可维护性。
|
7月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
465 70
|
6月前
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
409 27
|
8月前
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
1448 13
|
8月前
|
人工智能 自然语言处理 Java
30分钟速成:IntelliJ IDEA 2024下载安装与多语言开发环境配置手册
IntelliJ IDEA是Java/Kotlin开发领域的旗舰级IDE,最新版本实现了AI全栈辅助、量子计算插件和多语言互操作三大技术突破。AI辅助提升代码生成与性能优化准确率40%,量子计算插件支持1024量子位模拟,多语言混合调试性能提升300%。系统要求包括i5以上CPU、8GB内存及Windows 7+等。安装流程涵盖获取Ultimate版、配置启动器及性能优化设置。核心功能包括AI编码助手和多语言开发环境配置。提供量子算法开发和AI代码审查实战案例,并附故障排查指南和学习资源。
|
8月前
|
存储 监控 数据可视化
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
195 0
|
10月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
366 7
|
11月前
|
Java Spring
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
|
前端开发 Java 数据库连接
【springcloud合集】03:IDEA新建父工程project
【springcloud合集】03:IDEA新建父工程project
477 0
【springcloud合集】03:IDEA新建父工程project

热门文章

最新文章