当前位置: 首页 > news >正文

【SpringBoot】IDEA查看spring bean的依赖关系

前因:研究springcloud config组件时,我发现config-server包下的EnvironmentController不在扫描的包路径下却可以响应客户端的请求,这引起了我的注意,我的问题是:EnvironmentController是怎么被添加进bean工厂的。本章就是分享我在查找bean依赖关系总结的一点小技巧

通常来讲,让bean加入spring的管理有3种方法

第一种是使用扫描组件@ComponentScan和@Component注解,也是开发中最常见的做法。springboot应用启动时会扫描@ComponentScan的basePackages属性指定的包路径下的类文件,将路径下用组件注解(@Component,@Controller,@Service)修饰的类加入spring容器

第二种是基于springboot自动配置原理在resources/META-INF目录下添加spring.factories,在文件中写入被@Configuration修饰的配置类的全限定名,配置类内被@Bean修饰的方法返回的bean对象将交由spring托管

第三种是使用@Import注解导入,类似于import写入导入类的全限定名即可,在开发中使用较少

回到正题,IDEA可以通过注解旁的绿色小图标查看bean的供应关系,点击图标即可跳转到供方或者需方,这个功能在分析源码时还是很实用的

选中文件右键,然后选择Diagrams -> Show Diagram -> Spring Beans Dependencies 可以显示bean之间的关系图

题外话:ConfigServerMvcConfiguration配置类中有EnvironmentController类型的bean方法,ConfigServerAutoConfiguration配置类通过@import方法引入ConfigServerMvcConfiguration,config-server包的spring.factories文件中记录ConfigServerAutoConfiguration的全限定名,通过spring的自动化配置完成EnvironmentController的装载

相关文章:

【SpringBoot】IDEA查看spring bean的依赖关系

前因:研究springcloud config组件时,我发现config-server包下的EnvironmentController不在扫描的包路径下却可以响应客户端的请求,这引起了我的注意,我的问题是:EnvironmentController是怎么被添加进bean工厂的。本章就…...

项目代码优化(1)——下单逻辑

给一个电商开发的系统排查,发现漏洞很多。很多经验不够的开发者很容易忽视的逻辑错误陷阱。在给一个项目做二次开发时候,检测到的相关经典案例。这里整理支付和产品相关的逻辑,方便后续查看。,这里进行一些简单的逻辑漏洞梳理与修…...

探索 WebKit 的缓存迷宫:深入理解其高效缓存机制

探索 WebKit 的缓存迷宫:深入理解其高效缓存机制 在当今快速变化的网络世界中,WebKit 作为领先的浏览器引擎之一,其缓存机制对于提升网页加载速度、减少服务器负载以及改善用户体验起着至关重要的作用。本文将深入探讨 WebKit 的缓存机制&am…...

JVM:介绍

文章目录 一、什么是JVM二、JVM的功能1、解释和运行2、内存管理3、即时编译 三、常见的JVM四、Java虚拟机规范五、HotSpot发展历程 一、什么是JVM JVM的全称为Java Virtual Machine,Java虚拟机。本质上是一个运行在计算机上的程序,职责是运行Java字节码…...

和鲸“101”计划领航!和鲸科技携手北中医,共话医学+AI 实验室建设及创新人才培养

为进一步加强医学院校大数据管理与应用、信息管理与信息系统,医学信息工程等专业建设,交流实验室建设、专业发展与人才培养经验,6 月 22 日,由北京中医药大学(简称“北中医”)主办,上海和今信息…...

Linux 网络抓包工具tcpdump编译

tcpdump 的编译步骤 1. 下载源代码 访问 tcpdump 的官方网站(如:http://www.tcpdump.org/)下载最新的源代码压缩包,如tcpdump-4.9.2.tar.gz(注意版本号可能会有所不同)。 2. 解压缩源代码 使用 tar 命令…...

『C++成长记』string模拟实现

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ ​ 目录 一、存储结构 二、默认成员函数 📒2.1构造函数 📒2.…...

【c++】C++ IO流

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…...

解密智慧校园基础数据的学年管理功能

在智慧校园平台中,学年管理模块构成了教育活动有序运行的基石,它精心设计来适应多样化的学术日程,确保学校的各项事务都能在清晰规划的学年框架内顺利推进。这一核心功能不仅关乎时间的界定,更深层次地融入了教育管理的每一个细微…...

Python酷库之旅-第三方库Pandas(009)

目录 一、用法精讲 19、pandas.read_xml函数 19-1、语法 19-2、参数 19-3、功能 19-4、返回值 19-5、说明 19-6、用法 19-6-1、数据准备 19-6-2、代码示例 19-6-3、结果输出 20、pandas.DataFrame.to_xml函数 20-1、语法 20-2、参数 20-3、功能 20-4、返回值 …...

VPN 的入门介绍

VPN(虚拟专用网络) 简介 虚拟专用网络,简称虚拟专网(VPN),其主要功能是在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实…...

移动UI: 什么特征会被认为是简洁风格,用案例告诉你

什么是简洁风格,恐怕一百个人有一百个是理解,本文通过理论分析案例的方式进行探讨。 移动 UI 中的简洁风格通常具有以下几个特征: 1. 平面化设计: 简洁风格的移动 UI 善于运用平面化设计,即去除过多的阴影、渐变和立…...

除了伦敦外,英国还有这些热门留学城市

在同学们选择出国留学时,首先要考虑到的便是择校的问题。除了排名、专业、录取要求之外,城市因素也占据了很大比重。 抛开学校自身的优势外,一座城市的氛围、成本、环境都是需要考虑的因素。下面就我们来盘点一下英国热门的留学城市。 爱丁…...

2390. 从字符串中移除星号

2390. 从字符串中移除星号 题目链接&#xff1a;2390. 从字符串中移除星号 代码如下&#xff1a; class Solution { public:string removeStars(string s) {vector<char> sta;for(int i0;i<s.size();i){if(s[i]*) {sta.pop_back();}else {sta.push_back(s[i])…...

UNION、UNION ALL、INTERSECT、MINUS

UNION、UNION ALL、INTERSECT、MINUS&#xff1f; 说明 UNION&#xff1a;对两个结果集进行并集操作&#xff0c;不包括重复行&#xff0c;同时进行默认规则的排序&#xff1b;IUNION ALL&#xff1a;对两个结果集进行并集操作&#xff0c;包括重复行&#xff0c;不进行排序&am…...

Perl 语言开发(九):深入探索Perl语言的文件处理

目录 1. 文件打开与关闭 1.1 打开文件 1.2 关闭文件 2. 读取文件内容 2.1 逐行读取 2.2 一次性读取整个文件 3. 写入文件内容 3.1 覆盖写入 3.2 追加写入 4. 文件测试操作 4.1 文件测试运算符 5. 文件路径操作 5.1 文件路径处理模块 5.2 获取文件路径信息 6. 文…...

稀疏之美:在Mojo模型中实现特征的稀疏表示

稀疏之美&#xff1a;在Mojo模型中实现特征的稀疏表示 在机器学习领域&#xff0c;特征的稀疏表示是一种高效的数据编码方式&#xff0c;尤其适用于具有大量特征和缺失值的数据集。稀疏表示使用特殊的数据结构来存储和处理数据&#xff0c;从而减少内存占用和提高计算效率。Mo…...

如何大幅减少 Vue.js 中的包大小和加载时间,提升用户体验!

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 你知道吗,根据Google 的一项研究,如果网站加载时间超过 3 秒,53% 的移动用户会离开该网站? 性能优化是一个经常讨论的话题,但很多开发人员并不关心提高应用的速度。 在前端开发中,优化包大小和加载时间对于提升用户体…...

性能测试相关理解---性能测试流程(二)

六、性能测试流程&#xff08;如何做性能测试&#xff1f;) 根据学习全栈测试博主的课程做的笔记 1、前期准备– 项目初期就开始&#xff0c;业务需求评审时尽量参与,对业务更深刻的认识&#xff08;确定哪些是核心业务、哪些可能存在并发请求、确定什么地方会出现瓶颈,方便后…...

GD32 MCU ADC采样率如何计算?

大家在使用ADC采样的时候是否计算过ADC的采样率&#xff0c;这个问题非常关键&#xff01; 以下为GD32F303系列MCU中有关ADC的参数&#xff0c;其中ADC时钟最大值为40MHz&#xff0c;12位分辨率下最大采样率为2.86MSPS.如果ADC时钟超频的话&#xff0c;可能会造成ADC采样异常&…...

AI Agent在智能风控中的实战:多智能体欺诈检测与预警

AI Agent在智能风控中的实战:多智能体欺诈检测与预警 你有没有过明明是正常交易却被银行冻结账户的糟糕体验?或是听说过某电商平台上线新活动首日就被黑产团伙薅走数千万补贴的新闻?随着黑产欺诈向团伙化、专业化、动态化演进,传统依赖规则引擎、单模型机器学习的风控体系已…...

Midjourney锐化效果失效真相(2024官方未公开的渲染管线瓶颈解析)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney锐化效果失效真相&#xff08;2024官方未公开的渲染管线瓶颈解析&#xff09; 自2024年V6.2版本起&#xff0c;大量用户反馈 --stylize 与 --sharp 参数组合下图像边缘锐化效果显著弱化&am…...

DeepSeek-R1补全能力封测倒计时(仅剩72小时开放API灰度权限):这份内部测试SOP已被3家头部科技公司紧急采购

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek-R1代码补全能力封测全景概览 DeepSeek-R1 是深度求索&#xff08;DeepSeek&#xff09;推出的高性能开源推理模型&#xff0c;在代码补全场景中展现出显著的上下文理解力与多语言泛化能力。本…...

学术写作创新突破!2026全流程AI论文工具精选指南

2026 年 AI 论文写作工具已进入全流程闭环 学术合规时代&#xff0c;千笔 AI&#xff08;综合评分 99 分&#xff09;中文学术场景标杆&#xff1b;Grammarly Academic与Elicit为英文论文写作首选&#xff1b;按需求匹配度 - 数据可信度 - 成本承受力三维模型选型&#xff0c;…...

【DeepSeek架构评审功能深度解密】:20年架构师亲授3大避坑指南与5步落地 checklist

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek架构评审功能全景概览 DeepSeek架构评审功能是一套面向大模型系统设计与工程落地的自动化分析框架&#xff0c;聚焦于模型结构合理性、计算图优化潜力、内存访问模式、算子兼容性及部署约束等多维度评…...

1688运营培训/询盘成本从500元降到63.9!1688运营培训还原1688真实玩法

1688运营培训/询盘成本从500元降到63.9&#xff01;1688运营培训还原1688真实玩法500块钱一个询盘&#xff0c;你敢信&#xff1f;做1688运营培训这么多年&#xff0c;这个数字我都觉得离谱。前阵子遇到一个老板&#xff0c;一上来就开始吐槽1688&#xff0c;说1688就是个垃圾平…...

基于晶体管逻辑的水箱自动控制器设计与实现

1. 项目概述&#xff1a;一个基于晶体管逻辑的自动水箱/湿度灌溉控制器 如果你也像我一样&#xff0c;曾经为家里的花园、阳台植物或者农村老家的储水塔手动开关水泵而烦恼&#xff0c;那么这个项目就是为你准备的。我设计并制作了一个完全自动化的水箱水位控制器&#xff0c;它…...

前馈补偿技术:用数字预失真驯服放大器非线性失真

1. 项目概述&#xff1a;用前馈补偿驯服放大器失真在音频发烧友和硬件工程师的圈子里&#xff0c;追求“高保真”几乎是一种信仰。我们总希望从扬声器里传出的声音&#xff0c;是录音现场或音乐制作人意图的完美复刻&#xff0c;纤毫毕现&#xff0c;不带一丝杂质。然而&#x…...

别只盯着主控芯片!拆解STM32最小系统板:电源、时钟、复位三大支柱电路深度解析

STM32最小系统板设计进阶&#xff1a;电源、时钟与复位电路的工程实践 在嵌入式系统开发中&#xff0c;我们常常将注意力集中在主控芯片的功能实现上&#xff0c;却忽略了支撑系统稳定运行的三大基础电路——电源、时钟和复位。这些看似简单的电路模块&#xff0c;实则是整个系…...

3步快速恢复加密压缩包密码:ArchivePasswordTestTool终极指南

3步快速恢复加密压缩包密码&#xff1a;ArchivePasswordTestTool终极指南 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 面对遗忘的加密压…...