intellij idea15搭建spring源码阅读环境

简介: intellij idea15搭建spring源码阅读环境标签: 源码学习环境准备(1)下载intellij idea15 官网下载连接:https://www.jetbrains.com/idea/download/ 建议下载Ultimate版本,这样对web开发的支持组件比较多,开发较为方便,有经济能力的建议支持正版,没有的话你懂的。(2)下载

intellij idea15搭建spring源码阅读环境

标签: 源码学习

环境准备

(1)下载intellij idea15
官网下载连接:https://www.jetbrains.com/idea/download/
建议下载Ultimate版本,这样对web开发的支持组件比较多,开发较为方便,有经济能力的建议支持正版,没有的话你懂的。

(2)下载jdk8,配置java环境

(3)clone spring源码
spring源码github地址:https://github.com/spring-projects/spring-framework
下载源码后别着急用idea打开,首先阅读源码中的import-into-idea.md文件,文件内容如下,按着一步步操作即可

Steps

Within your locally cloned spring-framework working directory:
1. Pre-compile spring-oxm with ./gradlew cleanIdea :spring-oxm:compileTestJava
2. Import into IDEA (File->import project->import from external model->Gradle)
3. Set the Project JDK as appropriate (1.8+)
4. Exclude the spring-aspects module (Go to File->Project Structure->Modules)
5. Code away

Known issues

  1. spring-oxm should be pre-compiled since it’s using repackaged dependencies (see *RepackJar tasks)
  2. spring-aspects does not compile out of the box due to references to aspect types unknown to IDEA.
    See http://youtrack.jetbrains.com/issue/IDEA-64446 for details. In the meantime, the ‘spring-aspects’
    should be excluded from the overall project to avoid compilation errors.
  3. While all JUnit tests pass from the command line with Gradle, many will fail when run from IDEA.
    Resolving this is a work in progress. If attempting to run all JUnit tests from within IDEA, you will
    likely need to set the following VM options to avoid out of memory errors:
    -XX:MaxPermSize=2048m -Xmx2048m -XX:MaxHeapSize=2048m

(4)用idea打开spring源码 随便写了一个test,运行结果如下图所示:运行结果

问题:
(1)源码按照上面导入后,gradle build 也成功了,但是自己写测试代码可能还会报一些包找不到的问题,如图

这是由于idea打开spring源码后依赖没有正确配置,添加依赖即可解决
这里写图片描述
(2)如果依赖都正确配置了,但是程序还是无法运行,那可能是依赖顺序问题,详细可查阅这个博客
http://www.wurenny.com/2015/04/17/186

目录
打赏
0
0
0
0
3
分享
相关文章
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
181 70
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
229 13
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
168 2
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
161 7
【Spring配置】idea编码格式导致注解汉字无法保存
问题一:对于同一个项目,我们在使用idea的过程中,使用汉字注解完后,再打开该项目,汉字变成乱码问题二:本来a项目中,汉字注解调试好了,没有乱码了,但是创建出来的新的项目,写的注解又成乱码了。
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
Spring面试必问:手写Spring IoC 循环依赖底层源码剖析
在Spring框架中,IoC(Inversion of Control,控制反转)是一个核心概念,它允许容器管理对象的生命周期和依赖关系。然而,在实际应用中,我们可能会遇到对象间的循环依赖问题。本文将深入探讨Spring如何解决IoC中的循环依赖问题,并通过手写源码的方式,让你对其底层原理有一个全新的认识。
119 2
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
124 9
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
187 2
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等