深入Spring源码系列(补充篇)——程序调用Spring源码

spring源码系列(一)——spring循环引用 spring循环依赖如何解的? 阅读详情

前言

前段时间一直忙于其他事情,没空下来继续研究Spring源码。最近有空又重拾Spring源码,打算继续深入研究。

之前下载好了Spring源码之后,并成功导入到IDEA中了,可是光导入源码但是没有调用Spring源码就显得特别的菜了,且不利于深入学习Spring源码。本人花了点时间来尝试使用IDEA程序调用Spring源码,遂写下这篇文章来记录下实现过程。

正文

在系列文章第一篇中,已经成功下载好了Spring源码并使用Gradle导入源码,具体步骤这里不再赘述。

一、使用Spring源码的test测试文件来尝试启动Spring源码

如图操作:
在这里插入图片描述
启动test()方法,尝试调用Spring源码。结果会发现报错了

CoroutinesUtils cannot be resolved,没有CoroutinesUtils类

如下图位置:
在这里插入图片描述
(由于本人已经处理了这个错误,所以上图没有报出错误)

二、解决问题

查了一下错误,发现是因为CoroutinesUtils是kotlin的一个工具类,Spring源码包读取不到。

使用如下方法即可解决该工具类读不到的问题:

  1. 找到spring-framework-master\spring-core-coroutines\build\libs 下面的spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar包
  2. 选中改jar包右键——> Add as Library,将jar包导入依赖
  3. 选中工具栏Build——> Rebuild Project
    等Spring源码重新构建之后,就可以使用本地程序调用Spring源码了。

三、验证是否成功调用Spring源码

在这里插入图片描述
可以看到,在源码AbstractApplicationContext.java位置,本人添加了中文注释,一会儿使用Debug模式调用测试方法,看是否能进入该源码类的方法里,能进入则证明调用Spring源码成功。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样,程序就成功地调用了Spring源码。接下来就可以愉快的研究Spring源码了:)

Spring IoC源码学习:总览 前言 Spring 作为现在最优秀的框架之一,被广泛的应用于 Java 项目中,但是大多数人都只知道如何使用,而不知其中的原理。对大多数人来说可能知道如何使用已经足够了,但是对于想提升自己的人来说,学习 Spring 的源码是一个不错的选择。在过去的几个月里,我利用空闲时间将 IoC 的相关源码学习了一下,按照老习惯准备整理成笔记,以博文的形式记录下来,供自己以后使用,也供其他网友参考。由于涉及... 阅读详情

相关推荐

Spring 源码硬核解析系列专题(二十一):Spring Cloud OpenFeign 的声明式服务调用源码解析

在前几期中,我们从 Spring 核心到 Spring Boot 的多个模块,再到 Spring Cloud Gateway,逐步揭示了 Spring 生态在微服务领域的广泛应用。Spring Cloud OpenFeign 是 Spring Cloud 提供的声明式 HTTP 客户端,简化了服务调用。本篇将深入 Spring Cloud OpenFeign 的源码,剖析其核心机制与实现原理,并补充图示。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 903

Spring 5.2.1源码导入eclipse时缺失CoroutinesUtils错误的解决方案

Spring源码版本:5.2.1 源码导入后报错:CoroutinesUtils cannot be resolved 由于查了很多资料都没有解决此问题(包括要导入spring-core-coroutines 下的jar包的解决方案,然而我根本就没下到这个工程,github上的其他版本也没有此工程,此解决方案纯属误导),最终自己摸索出了解决方案,记录一下。 我导入源码后,多个包(例如spri...

一盏洗魂水,一杯优乐美 2026

555时基芯片的5种经典电路设计:从方波发生器到PWM调光实战

本文深入解析了555时基芯片的5种经典电路设计,从基础的无稳态方波发生器、单稳态触发器,到实用的占空比可调PWM信号源,并重点介绍了如何引入TVS保护电路增强系统鲁棒性。最后通过一个带保护的PWM LED调光台灯实战项目,综合展示了信号生成、功率驱动与电路保护的核心技术,是电子爱好者掌握模拟电路设计与应用的绝佳指南。

weixin_29207439的博客 490

Error:(354, 51) java: 找不到符号 符号: 变量 CoroutinesUtils 位置: 类 org.springframework.core.ReactiveAdapterReg

问题描述: Error:(354, 51) java: 找不到符号 符号: 变量 CoroutinesUtils 位置: 类 org.springframework.core.ReactiveAdapterRegistry.CoroutinesRegistrar 解决办法: 1、spring-core添加jar包依赖 将spring-framework/spring-core-coroutin...

ULiYJ的博客 8815

⭐️白嫖的阿里云认证⭐️ 【真题&参考答案】:大模型Clouder认证:利用大模型提升内容生产能力

【摘要】真题「大模型Clouder认证:利用大模型提升内容生产能力」

davidkorhenn的博客 1921

华中科技大学 计算机组成原理 educoder Logisim平台 计算机数据表示实验

本文主要是对 计算机数据表示实验的笔记和相关Logisim平台的图,供大家学习交流使用。 需要源文件或者源代码,可以留言评论! 目录实验目的第1关:汉字国标码转区位码实验第2关:汉字机内码获取实验第3关:偶校验编码设计第4关:偶校验解码电路设计第5关:16位海明编码电路设计第6关:16位海明解码电路设计第7关:海明编码流水传输实验第8关:16位CRC并行编解码电路设计第9关:CRC编码流水传输实验实验结果: 实验目的 本实训将帮助同学们巩固对计算机中数据表示方法的理解,要求能设计汉字国标码与区位码之间的转换

weixin_48383580的博客 2万+

运行spring源码CoroutinesUtils找不到

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。 解决过程: 找到spring-framework-master\spring-core-coroutines\build\libs 下面的spring-core-coroutines-5.2.0.BUILD-SNAPSHOT.jar包 选中改jar包右键——> Add as Library,将jar包导入依赖 选中工具栏Build——> Rebuild Project 等Spring源码重新构建之后.

我的博客 1877

告别手动连接!一键搞定Mumu模拟器与Android Studio的ADB配置

本文详细介绍了如何通过编写自动化脚本,一键完成Mumu模拟器与Android Studio的ADB连接配置。告别繁琐的手动命令输入,该脚本能智能检查环境、判断连接状态并自动处理端口转发,显著提升Android开发者的调试与测试效率。

yog99的博客 494

Spring Framework源代码环境搭建

概要 本文介绍使用IntelliJ IDEA搭建Spring Framework源代码环境,用于源代码阅读与debug。 环境搭建 1.下载源代码 访问Spring Framework在GitHub的地址,下载最新源代码。本人在下载时,版本号为5.2.2.BUILD-SNAPSHOT https://github.com/spring-projects/spring-framework 2.根...

daiwuliang的博客 891

[漏洞剖析]JeecgBoot queryFieldBySql注入与JDBC连接滥用:从内存马植入到RCE的完整攻击链

本文深度剖析了JeecgBoot框架中queryFieldBySql接口的SQL注入漏洞及其引发的完整攻击链。攻击者利用该漏洞,通过Freemarker SSTI植入隐蔽的内存马,并进一步滥用JDBC连接测试功能,借助H2数据库特性实现远程命令执行(RCE),揭示了低代码平台中功能滥用与安全配置疏忽带来的严重风险。

weixin_29232121的博客 115

课题申报新手入门必备指南!利用AI辅助搞定 6大关键部分,高效提升申报成功率(附AI提示词)

以下是我(或团队)与本课题相关的已有基础:【如:承担过的公开课、校本教研活动、教学改革实践、课程建设、区级/校级课题、教学反思积累等】请你完成以下任务:1)判断哪些内容与本课题的研究目标和内容具有直接或间接关联;以下是我当前的研究设想(可能比较笼统):【填写你的研究想法 / 教学困惑 / 初步设想】,请你帮我完成以下任务:1)先判断该设想中隐含的核心研究问题是什么;以下是我目前拟定的研究目标,请你从课题评审视角进行校正:【逐条粘贴你已有的研究目标】,请你帮我:1)判断每个目标是否具体、清晰、可评估;

智能AI让学术科研更容易 917

Spring 源码学习系列汇总

Spring 系列的文章目录,后续Spring相关文章都会更新到本文,方便大家查阅。

程序员囧辉 5967

【VS开发】【DSP开发】WinDriver简介(或介绍)

WinDriver for Windows简化并自动化了用户模式Windows设备驱动程序的开发,支持设备包括PCI / CardBus / ISA/ PCI-104 / PCMCIA * / PMC / PCI-X 和 CompactPCI,无需DDK或内核级编程知识。关于USB设备驱动开发,请参见WinDriver USB for Windows。   WinDriver包含一系列

ZhangPY的专栏 1474

【spring源码系列-01】spring底层源码整体概述

spring源码整体概述

zhenghuishengq的博客 1万+

29.Labview界面设计 --- (下篇)自定义控件库、界面布局与外观设计

1.自定义控件外观(自定义控件)1.1 自定义外观库1.2 手动自定义控件外观2. 前面板控件布局方式(控件排布)2.1 模块化控制布局方式2.2 数据采集布局方式3. 前面板外观优化项(背景设计)3.1 前面板背景设计3.2 前面板窗口整理本节第一部分教大家安装一种可以直接用的自定义控件库,第二部分教大家如何自己设计控件并保存调用。

关注我,更多技术问题欢迎私聊~ 4776

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

spring源码系列(六)——番外篇如何编译spring的源码

学习spring源码的第一步便是需要去编译源码;很多网友在编译spring源码的时候遇到了困难继而放弃了spring源码的学习; 这篇文章主要来阐述如何正确的编译spring源码;首先你得检查你的网线能正常上网;最好网速还行;不然你会疯掉 下载spring源码 下载spring源码可以选择github或者码云(国内的);下载方式可以选择git clone 或者直接下载一个zip包;笔者推荐使用git clone这种方式;我在本地的d:\workspace下面clone了spring5.1.x的源码(写文.

java_lyvee的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spring Cloud Feign和Ribbon源码系列汇总篇

Spring cloud 中服务之间通过restful方式调用。一种是RestTemplate+Ribbon,另一种是Spring cloud Feign默认集成Ribbon。

布道 4万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar

文章目录剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar例子源码mybatis如何利用ImportBeanDefinitionRegistrar优雅支持spring 剑指spring源码(二)补充篇之ImportBeanDefinitionRegistrar 例子 TODO 源码 mybatis如何利用ImportBeanDefinitionRegist...

LiuRenyou的博客 1797

Spring Cloud Feign【源码篇】Feign 如何进行服务间请求调用

参考资料: Spring Cloud 官网 Spring Cloud Feign 默认使用 HTTP 的形式进行远程服务调用。 先来看一个简单的案例,假设此时有一个服务provider 和一个服务consumer。 服务provider 9527 提供接口/hello/{name} 服务consumer 9528 调用 服务provider的 hello/{name}...

保持敏感!保持学习! 4072

Spring 源码分析补充篇一 :DeferredImportSelector 的处理

文章目录一、前言二、 DeferredImportSelector三、源码分析1. DeferredImportSelector 的预处理2. DeferredImportSelector 的真正处理2.1 handler::register2.2 handler.processGroupImports() 一、前言 本系列是在重看源码分析过程中,对一些遗漏内容的补充,内容仅用于个人学习记录。 在 Spring 源码分析衍生篇七 :ConfigurationClassPostProcessor 上篇 中

猫吻鱼的博客 3446

Spring Cloud Hystrix 源码系列汇总篇

随着服务化的大规模演化,每个应用系统对这些依赖的稳定性与否对系统的影响非常大。而依赖有很多不可控问题:网络连接缓慢,资源繁忙,服务暂时不可用等。特别是高并发的依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险。Netflix 公司开发并成功使用Hystrix,它是社区中非常活跃的限流降级神器。 Netflix 应用系统规模 TheNetflixAPIprocesses10+b...

布道 4088

Spring源码解析系列汇总

相信我,你会收藏这篇文章的 本篇文章是这段时间撸出来的Spring源码解析系列文章的汇总,总共包含以下专题。喜欢的同学可以收藏起来以备不时之需 SpringIOC源码解析(上) 本篇文章搭建了IOC源码解析的demo环境,启动这个环境即可开启阅读Spring源码的第一步 开始源码阅读时介绍了Spring容器中最经典的容器ClassPathXmlApplicationContext,这个...

Java学习录 1459

【源码系列】Spring源码编译

学习Spring源码第一关,必然是编译源码,先前编译过5.3.37,相对顺利,但是5.0.2在2025年编译比较费劲,特此记录推荐打包命令: gradlew build --refresh-dependencies -x test最好是跳过测试,不然有各种奇怪的测试报错,其实对于源码阅读来说,并不影响。

清风唱诗人的博客 4900

Spring源码系列-第1章-Spring源码纵览【持续更新中】

文章目录必读第1章-Spring源码纵览概述简单的继承关系图Spring框架整体流程核心组件接口分析Resource资源方法实现类ResourceLoader资源加载器方法实现类BeanFactory-Bean工厂AbstractApplicationContextGenericApplicationContextDefaultListableBeanFactory注册BeanDefinition-1MainTest测试类Debug调用栈AbstractApplicationContext#refresh(

youthlql的博客 9893

Spring 源码分析补充篇二 :ClassPathBeanDefinitionScanner#doScan

一、前言 1. 调用时机 二、ClassPathBeanDefinitionScanner#doScan ClassPathBeanDefinitionScanner#doScan 完成了根据指定路径扫描Class 文件,并将筛选后的 Class 文件 生成对应的 BeanDefinition,注册到 BeanFactory 中。其实现具体如下: protected Set<BeanDefinitionHolder> doScan(String... basePackages) { Ass

猫吻鱼的博客 1767
上一篇: 编辑神器VIM命令总结(三)
下一篇: 小白都能看懂的超详细ideavim自定义快捷键讲解
CoderBruis
博客等级 码龄10年 4444粉丝 102原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值