对比 @Configuration(Full) vs @Component(Lite)
核心现象同一个类里面Bean方法互相调用Full拿单例Lite新建对象1. 两个简单BeanpublicclassABean{}publicclassBBean{publicABeanaBean;publicBBean(ABeanaBean){this.aBeanaBean;}}2. Full模式Configurationimportorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;Configuration// Full模式CGLIB代理publicclassFullConfig{BeanpublicABeanaBean(){System.out.println(Full - 创建ABean);returnnewABean();}BeanpublicBBeanbBean(){// 在配置类内部调用 aBean()ABeanaaBean();returnnewBBean(a);}}3. Lite模式Component Beanimportorg.springframework.context.annotation.Bean;importorg.springframework.stereotype.Component;Component// Lite模式无CGLIB代理publicclassLiteConfig{BeanpublicABeanaBean(){System.out.println(Lite - 创建ABean);returnnewABean();}BeanpublicBBeanbBean(){// 普通java方法调用ABeanaaBean();returnnewBBean(a);}}4. 启动类 测试importorg.springframework.boot.CommandLineRunner;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.context.ApplicationContext;SpringBootApplicationpublicclassBeanDemoAppimplementsCommandLineRunner{publicstaticvoidmain(String[]args){SpringApplication.run(BeanDemoApp.class,args);}Overridepublicvoidrun(String...args)throwsException{ApplicationContextctxBeanDemoApp.this;// FullConfigBBeanfullBctx.getBean(bBean,BBean.class);ABeanfullActx.getBean(aBean,ABean.class);System.out.println(Full模式bBean里面的aBean 和容器aBean是否同一个(fullB.aBeanfullA));// LiteConfigBBeanliteBctx.getBean(liteConfig.bBean,BBean.class);ABeanliteActx.getBean(liteConfig.aBean,ABean.class);System.out.println(Lite模式bBean里面的aBean 和容器aBean是否同一个(liteB.aBeanliteA));}}控制台输出结果Full - 创建ABean Full模式bBean里面的aBean 和容器aBean是否同一个true Lite - 创建ABean Lite - 创建ABean Lite模式bBean里面的aBean 和容器aBean是否同一个false解读Full(Configuration)bBean()里调用aBean()不是直接执行方法而是被代理拦截从Spring容器返回已存在的单例只实例化一次。Lite(Component Bean)没有代理bBean()调用aBean()就是普通Java方法执行new了两次ABean一次是bBean构造用的一次是Spring扫描Bean注册的两个对象地址不一样。⚠️ 注意如果不通过内部方法调用只是单独定义一堆互不引用的BeanLite模式看起来一切正常坑藏在内部互相调用场景。补充Spring 6 / SpringBoot3 新变化Spring6 引入Configuration(proxyBeanMethods false)Configuration(proxyBeanMethodsfalse)publicclassConfig{Bean...}这个也是Lite模式虽然写了Configuration但是关闭代理内部方法调用同样会新建对象。现在SpringBoot很多自动配置都用这个好处不需要CGLIB启动更快代价就是不能内部调用Bean方法。

相关新闻

酒店大功率空气能热水器,惠州厂家直供,全天候高效更省电

酒店大功率空气能热水器,惠州厂家直供,全天候高效更省电

在惠州空气能热水器行业做了十几年工程项目,我们团队在实践中发现,酒店客户咨询酒店大功率空气能热水器时,真正担心的往往不是机组匹数,而是高峰期热水够不够用、冬天稳不稳定、用几年后还有人管不管。今天以格瑞沃空气能在惠州落…

2026/10/15 7:06:52 阅读更多 →
SpringBoot+Vue+MySQL实习生管理系统设计与部署实践

SpringBoot+Vue+MySQL实习生管理系统设计与部署实践

开箱即用的一套实习生管理系统,SpringBoot后端、Vue前端、MySQL做数据存储,三件套组合已经被无数个中小型项目验证过了。这套源码有完整的用户登录、角色权限、实习过程记录、日报周报、考勤统计、成绩评定,能直接跑起来,也适合拿…

2026/10/15 7:05:52 阅读更多 →
PHY6222双协议低功耗SoC选型指南:Datasheet关键参数与避坑全解析

PHY6222双协议低功耗SoC选型指南:Datasheet关键参数与避坑全解析

简介:PHY6222是奉加微电子推出的蓝牙5.2系统级芯片(SoC),配套数据手册面向嵌入式与物联网开发者,可作为选型评估、硬件电路设计和BLE协议开发的权威参考。芯片集成ARM Cortex-M0处理器、2.4GHz射频收发器、灵活电源管理…

2026/10/15 7:05:52 阅读更多 →

最新新闻

用FastAPI和OCR打造PS5游戏截图素材管家

用FastAPI和OCR打造PS5游戏截图素材管家

家里那台PS5买回来半年后,我第一个受不了的不是游戏容量,而是截图和录像的管理。官方相册只能按时间倒序看,想搜某一场Boss战、某个游戏的地标截图,只能一页页翻。更头疼的是,我习惯把素材备份到家里的NAS,…

2026/10/15 7:42:00 阅读更多 →
Java旅行攻略搭子社交系统源码解析:从架构到匹配算法

Java旅行攻略搭子社交系统源码解析:从架构到匹配算法

刚拿到这套Java旅行攻略搭子社交系统源码的时候,我第一反应是“又是个社区加聊天的常规项目”,但真正把代码翻完才发现,它把“旅行攻略内容”和“搭子社交关系”这两条链路死死咬合在一起。很多开发者做社区时只做内容,做社交时只…

2026/10/15 7:42:00 阅读更多 →
SpringBoot+Vue+MyBatis高校实习管理系统设计与实现复盘

SpringBoot+Vue+MyBatis高校实习管理系统设计与实现复盘

每年五六月,是高校里最“兵荒马乱”的一段日子。一边是学生急着盖实习鉴定章、补周志材料,一边是辅导员和教务老师埋头在QQ群、微信群里一遍遍催收,纸质表和电子表还经常对不上。带过毕业班的朋友应该都有体会——这个场景太适合用一套“高校…

2026/10/15 7:42:00 阅读更多 →
QUIC协议如何根治直播卡顿?首帧秒开与弱网优化实践

QUIC协议如何根治直播卡顿?首帧秒开与弱网优化实践

1. 为什么直播总是卡:先聊聊我在真实环境中踩过的坑还记得接手某跨平台直播系统的性能优化时,后台数据统计里最刺眼的一项就是“首帧秒开率不达标”,用户端动不动就黑屏转圈三五秒,弹幕里全是催“优化网络”的。我一开始也和大多数…

2026/10/15 7:42:00 阅读更多 →
基于UniApp的微信小程序个性化聊天交友系统开发实战

基于UniApp的微信小程序个性化聊天交友系统开发实战

赶在毕业季前,很多同学都在愁选题。聊天交友类小程序算是经典方向,但大多数网上开源版本要么界面停留在五年前,要么只做了个壳子。这次分享的这套基于微信小程序、采用UniApp开发的大学生线上聊天交友系统,亮点不仅仅是“能聊天”…

2026/10/15 7:42:00 阅读更多 →
光子晶体光纤仿真降维实操:笔记本搞定模式干涉建模

光子晶体光纤仿真降维实操:笔记本搞定模式干涉建模

最近有个朋友跟我诉苦:他接手了一个光子晶体光纤传感器的项目,领导开口就问“你这个仿真要多大内存,是不是得租台服务器”,他按照常规三维时域软件一估算,发现模型随便就是几十亿网格,当场就自闭了。我跟他…

2026/10/15 7:41:00 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →