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

Bean 什么时候会被销毁?

文章目录1. 核心触发时机容器关闭2. 不同作用域Scope的差异3. 销毁逻辑的具体执行顺序Bean 的销毁时机主要取决于它的作用域Scope以及容器ApplicationContext的状态。在 Spring 中Bean 的销毁过程遵循严格的生命周期管理。以下是具体的触发条件和执行逻辑1. 核心触发时机容器关闭对于最常见的Singleton单例Bean其生命周期与 Spring 容器同步。触发动作当调用ConfigurableApplicationContext.close()方法或者 JVM 接收到关闭信号通过注册的Shutdown Hook时。执行过程容器在关闭前会找出所有实现了销毁接口或定义了销毁方法的单例 Bean并逐一执行它们的销毁逻辑。2. 不同作用域Scope的差异不同作用域的 Bean销毁时机完全不同作用域 (Scope)销毁时机说明Singleton容器关闭时在容器整个生命周期内只创建一次随容器一起“寿终正寝”。PrototypeSpring 不负责销毁关键点Spring 只负责创建并初始化多例 Bean一旦交给客户端容器就不再维护它的引用。销毁工作必须由开发者手动完成如通过垃圾回收或手动调用方法。RequestHTTP 请求结束时随当前 HTTP 请求的完成而销毁。SessionHTTP Session 结束时当会话超时或被手动失效Invalidate时销毁。3. 销毁逻辑的具体执行顺序当销毁时机到达时Spring 会按以下顺序调用你定义的销毁代码PreDestroy注解方法这是 JSR-250 标准注解优先级最高。PreDestroypublicvoidcleanup(){System.out.println(1. 执行 PreDestroy 方法释放资源...);}DisposableBean接口的destroy()方法如果 Bean 实现了这个接口Spring 会调用它。publicclassMyBeanimplementsDisposableBean{Overridepublicvoiddestroy(){System.out.println(2. 执行 DisposableBean.destroy()...);}}3.**自定义的 destroy-method** 在 Bean 注解或XML中指定的销毁方法优先级最低。 java// Java 配置方式Bean(destroyMethodcustomDestroy)publicMyBeanmyBean(){...}// 或者 XML 方式// bean id... class... destroy-methodcustomDestroy /---##4.特殊情况为什么我的销毁方法没执行 如果你发现单例Bean的销毁方法没有被调用通常是以下两个原因***没有优雅关闭容器**如果在非Web应用如普通的 main 方法程序中直接结束运行没有调用 context.close()JVM会直接杀掉进程Spring来不及执行销毁逻辑。建议使用 context.registerShutdownHook()。***Prototype作用域**如前所述Spring根本不会去销毁Prototype类型的Bean。**一句话总结**对于单例**容器关Bean毁**对于多例**Spring管生不管死**。 关于Bean的生命周期你是想进一步了解初始化阶段的具体顺序还是在处理具体的资源释放如数据库连接池、线程池报错问题

相关文章:

Bean 什么时候会被销毁?

文章目录 1. 核心触发时机:容器关闭2. 不同作用域(Scope)的差异3. 销毁逻辑的具体执行顺序 Bean 的销毁时机主要取决于它的 作用域(Scope) 以及 容器(ApplicationContext)的状态。 在 Spring 中…...

航空发动机齿轮有限元可靠性分析与齿廓修形优化【附仿真】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导,毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)多保真度主动学习代理模型与模型修正: …...

CANN/hcomm通信域初始化

HcclCommInitRootInfo 【免费下载链接】hcomm HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。 项目地址: https://gitcode.com/cann/hcomm 产品支持情况 Ascend 950PR/Ascend 950DT:…...

OBS虚拟摄像头插件:4个虚拟摄像头同时工作的终极指南

OBS虚拟摄像头插件:4个虚拟摄像头同时工作的终极指南 【免费下载链接】obs-virtual-cam 项目地址: https://gitcode.com/gh_mirrors/obsv/obs-virtual-cam 还在为OBS直播画面只能分享到一个应用而烦恼吗?今天我要介绍的obs-virtual-cam插件&…...

ThinkPad风扇控制革命:如何用TPFanCtrl2告别过热与噪音困扰

ThinkPad风扇控制革命:如何用TPFanCtrl2告别过热与噪音困扰 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 在ThinkPad用户群体中,风扇控制一直…...

深度解析 MCP (Model Context Protocol):构建 AI Agent 的核心纽带

深度解析 MCP (Model Context Protocol):构建 AI Agent 的核心纽带 摘要 在当前大模型(LLM)向智能体(Agent)演进的过程中,如何打破“信息孤岛”,实现模型与外部工具、数据库及本地文件系统的标准…...

收藏必看!2026年AI内卷混战风口拆解,小白也能轻松入局大模型

2026年刷各大平台,相信不少程序员和零基础小伙伴都被AI圈内卷刷屏!既能自主决策、智能交互的人形机器人遍地开花,还有全网爆火、玩法持续迭代升级的AI小龙虾OpenClaw强势出圈。当下大模型技术更新迭代速度极快,用日新月异来形容行…...

收藏!2026年转AI大模型应用开发,正确学习顺序别踩坑(小白/程序员必看)

本文深度剖析2026年AI智能体公司的生存困境,点出其商业模式局限、缺乏行业深耕经验的核心痛点,揭示其难以持续盈利的底层逻辑。同时,结合当下AI大模型的爆发式发展趋势,强调大模型应用开发的学习价值,为小白、程序员整…...

【2026最新版|收藏备用】用Skill简化大模型知识库连接,小白程序员入门必看

本文专为2026年入门大模型的小白、程序员打造,详细介绍如何通过Skill技术简化大模型与外部知识库的对接流程,对比传统RAG方法的繁琐痛点,手把手讲解Markdown(.md)格式文档的存储技巧、SKILL.md文件的技能描述与导航方法…...

VMware Unlocker 3.0:专业解锁工具让PC轻松运行macOS虚拟机的高效指南

VMware Unlocker 3.0:专业解锁工具让PC轻松运行macOS虚拟机的高效指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 在Windows或Linux系统上运行macOS虚拟机,对于iOS应用开发者…...

GitHub中文界面终极指南:3步免费快速安装,告别英文困扰

GitHub中文界面终极指南:3步免费快速安装,告别英文困扰 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 还在为…...

基于Kubernetes的AI应用控制平面:kiro-acp架构解析与实践指南

1. 项目概述:一个面向AI应用开发的集成控制平面最近在GitHub上闲逛时,发现了一个名为kiro-acp的项目,隶属于haliphax-ai这个组织。光看名字,acp很容易让人联想到“应用控制平面”。点进去一看,果然,这是一个…...

微信小程序集成ChatGPT:架构设计与工程实践全解析

1. 项目概述:一个在微信小程序里跑起来的ChatGPT最近在捣鼓微信小程序,想看看能不能把ChatGPT这种大模型的能力塞进去。毕竟,现在AI对话这么火,如果能在小程序里直接调用,做个智能客服、个人助手或者创意工具&#xff…...

本地部署AI助手Catai:基于Llama.cpp的模型管理与服务集成指南

1. 项目概述:在本地运行你自己的AI助手 如果你和我一样,对大型语言模型(LLM)充满好奇,既想体验它们强大的对话和推理能力,又对数据隐私、网络依赖或API调用成本有所顾虑,那么本地部署一个AI模型…...

通用人工智能系统GPAIS:从专用AI到通用智能体的架构与实战

1. 项目概述:从“专用”到“通用”的AI范式跃迁最近几年,AI领域的热点几乎被大语言模型(LLM)和扩散模型(AIGC)所垄断。我们见证了它们在文本生成、代码编写、图像创作等特定任务上展现出的惊人能力。然而&a…...

2026 AI大会报名通道即将关闭:3大未公开优先注册通道+5类免审资格今日解锁

更多请点击: https://intelliparadigm.com 第一章:2026年AI技术大会报名截止时间 2026年AI技术大会(AI Tech Summit 2026)官方报名通道将于北京时间2026年3月15日23:59准时关闭,逾期系统将自动终止注册流程。本次大会…...

CANN/ops-math 3D反射填充算子

aclnnReflectionPad3d 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 📄 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas …...

CANN/runtime CMO缓存操作

11-06 CMO 缓存操作 【免费下载链接】runtime 本项目提供CANN运行时组件和维测功能组件。 项目地址: https://gitcode.com/cann/runtime 本章节描述 CMO(Cache Maintenance Operations)缓存操作接口,用于缓存刷新与失效操作。 aclErr…...

Context Harness:本地优先AI知识库引擎,无缝集成Cursor与Claude

1. 项目概述:一个为AI工具打造的本地优先知识库引擎如果你和我一样,日常重度依赖像Cursor、Claude Code这类AI编程助手,那你肯定也遇到过这个痛点:当你想让AI帮你分析一个复杂的私有代码库、查阅公司内部的API文档,或者…...

构建安全多语言代码沙盒:从原理到实践

1. 项目概述:从“Can I Code?”到“Can I Code!”“let-sunny/canicode”这个项目名,初看有点意思。它不像一个传统的工具库或框架,名字里带着一个问句的意味——“我能编码吗?”。这恰恰是很多初学者,甚至是在特定领…...

AI赋能宠物纪念册:Gemini3.1Pro的情感文案术

在 2026 年,AI 的应用场景已经从“写文案、做海报、生成代码”扩展到更细分、更情绪化也更需要边界感的领域。比如宠物殡葬、生命纪念、情感告别、个性化内容定制等场景,过去往往依赖人工经验和手工整理,现在则可以借助 Gemini 3.1 Pro 先完成…...

深度解析next-routes:Next.js早期动态路由解决方案的设计与实现

1. 项目概述:一个被时代铭记的Next.js路由解决方案如果你在2017年到2020年间使用Next.js开发过项目,那么你大概率听说过甚至用过next-routes这个库。在那个Next.js官方路由系统还相对“简陋”的年代,next-routes凭借其Express风格的动态路由定…...

AMCT KV Cache量化配置

KV Cache量化简易配置文件 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct quant_calibration_config_pytorch.proto文件参数说明如下表所示,该文件所在目录为:AMCT安装目录…...

网络安全技术岗怎么选,不止渗透...

网络安全技术岗怎么选,不止渗透… 你真知道网络安全有哪些技术岗吗?不是所有人都去打漏洞,也不是所有人都进红队。 把网络安全行业里常见的技术岗岗位分类职责技术要求面试考点薪资段位都梳理清楚了👇 学习资源 如果你也是零基础…...

CANN/metadef自定义逻辑流分配函数

CustomAllocateStreamPassFn 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef AI处理器支持情况 AI处理器类型 是否支持 Ascend 910C√ Ascend 910B√ 功能说明 注册自定义的逻辑流分配Pass执行函数。 函数原型 P…...

CANN/AMCT大模型FlatQuant量化

AMCT大模型对于LLAMA2/Qwen3的FlatQuant量化 【免费下载链接】amct AMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。 项目地址: https://gitcode.com/cann/amct 1 量化前提 1.1 安装依赖 本sample依赖包可参考requirements.txt 需要注意的是torch_npu包版本需要…...

基于Kuramoto模型与CNN的脑电信号同步特征提取与分类方法

1. 项目概述与核心思路最近在做一个挺有意思的交叉项目,核心是把物理学里的Kuramoto模型和深度学习里的卷积神经网络(CNN)结合起来,去处理脑电信号。听起来有点绕,但说白了,就是想用更“物理”一点的方式&a…...

元宇宙边缘计算AI架构:从资源调度到个性化体验塑造

1. 项目概述:为什么元宇宙需要一种全新的边缘计算AI架构?如果你最近关注过科技新闻,大概率会被“元宇宙”这个词刷屏。它描绘了一个物理与虚拟世界深度融合的未来图景,人们通过扩展现实设备在其中工作、社交、娱乐。然而&#xff…...

从零构建高性能云原生抓取平台:架构、部署与实战指南

1. 项目概述:从零到一构建一个高性能云原生抓取平台最近在折腾一个很有意思的开源项目,叫openperf/openclaw-cloud。乍一看这个名字,可能有点摸不着头脑,但如果你拆解一下,就能发现它的野心不小。“OpenPerf”暗示了其…...

OpenClaw:基于零信任与深度防御的安全AI代理网关架构与实践

1. 项目概述与核心安全理念最近在折腾一个挺有意思的项目,叫 OpenClaw。简单来说,这是一个为 AI 智能体(AI Agent)设计的、带有 SSH 桥接功能的运行平台。它的核心设计理念非常激进,甚至可以说有点“偏执”&#xff1a…...