Beans模块之工厂模块DisposableBean

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌

博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+MySQL+Vue等前后端分离项目,可以在左边的分类专栏找到更多项目。《Uniapp项目案例》有几个有uniapp教程,企业实战开发。《微服务实战》专栏是本人的实战经验总结,《Spring家族及微服务系列》专注Spring、SpringMVC、SpringBoot、SpringCloud系列、Nacos等源码解读、热门面试题、架构设计等。除此之外还有不少文章等你来细细品味,更多惊喜等着你哦

🍅uniapp微信小程序🍅面试题软考题免费使用,还可以使用微信支付,扫码加群。由于维护成本问题得不到解决,可能将停止线上维护。

点击这里预览

抖音体验版

🍅文末获取联系🍅精彩专栏推荐订阅👇🏻👇🏻 不然下次找不到哟

Java项目案例《100套》
https://blog.csdn.net/qq_57756904/category_12173599.html
uniapp小程序《100套》

https://blog.csdn.net/qq_57756904/category_12199600.html

有需求代码永远写不完,而方法才是破解之道,抖音有实战视频课程,某马某千等培训都是2万左右,甚至广东有本科院校单单一年就得3万4年就12万学费,而且还没有包括吃饭的钱。所以很划算了。另外博客左侧有源码阅读专栏,对于求职有很大帮助,当然对于工作也是有指导意义等。在大城市求职,你面试来回一趟多多少少都在12块左右,而且一般不会一次性就通过,还得面试几家。而如果你对源码以及微服务等有深度认识,这无疑给你的面试添砖加瓦更上一层楼。

最后再送一句:最好是学会了,而不是学废了!!!

DisposableBean 是 Spring Framework 中的一个接口,用于定义 bean 销毁(即容器关闭时)时执行的操作。实现这个接口的 bean 可以在容器销毁它们时执行自定义的清理逻辑,例如释放资源或关闭连接。

DisposableBean 接口定义了一个方法 destroy(),在容器销毁 bean 时会调用该方法。在这个方法中,您可以编写自己的清理代码以确保 bean 被正确地销毁。

以下是一个示例,演示如何实现 DisposableBean 接口:

java 复制代码
import org.springframework.beans.factory.DisposableBean;

public class MyDisposableBean implements DisposableBean {

    @Override
    public void destroy() throws Exception {
        // 在这里编写销毁 bean 时的清理逻辑
        System.out.println("Bean is being destroyed.");
    }

    // 其他类的方法
}

在上述示例中,我们创建了一个实现 DisposableBean 接口的类 MyDisposableBean。在 destroy() 方法中,我们可以编写销毁 bean 时的清理逻辑。当容器关闭时,它会自动调用这个方法以销毁 bean。

需要注意的是,尽管可以使用 DisposableBean 来定义销毁方法,但在实际应用程序中,更常见的做法是使用 @PreDestroy 注解或配置文件中的销毁方法。这些方法提供了更直观和可读性更好的方式来定义 bean 的销毁逻辑,而不需要实现特定的接口。例如:

java 复制代码
import javax.annotation.PreDestroy;

public class MyBean {

    @PreDestroy
    public void customDestroyMethod() {
        // 在这里编写销毁 bean 时的清理逻辑
        System.out.println("Bean is being destroyed.");
    }

    // 其他类的方法
}

在上述示例中,我们使用 @PreDestroy 注解定义了一个销毁方法,它会在 bean 销毁时自动调用。这种方式更推荐,因为它更易读,并且不需要实现额外的接口。

相关推荐
龙虾PRO1 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
llwszx1 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO2 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质2 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
Gofarlic_OMS2 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
乐观的Terry2 小时前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb2 小时前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
万亿少女的梦1683 小时前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫3 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端
笨蛋不要掉眼泪3 小时前
Java虚拟机:常用参数
java·开发语言·python