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 销毁时自动调用。这种方式更推荐,因为它更易读,并且不需要实现额外的接口。

相关推荐
忒可君31 分钟前
C# winform 报错:类型“System.Int32”的对象无法转换为类型“System.Int16”。
java·开发语言
斌斌_____1 小时前
Spring Boot 配置文件的加载顺序
java·spring boot·后端
路在脚下@1 小时前
Spring如何处理循环依赖
java·后端·spring
一个不秃头的 程序员1 小时前
代码加入SFTP JAVA ---(小白篇3)
java·python·github
丁总学Java1 小时前
--spring.profiles.active=prod
java·spring
上等猿2 小时前
集合stream
java
java1234_小锋2 小时前
MyBatis如何处理延迟加载?
java·开发语言
菠萝咕噜肉i2 小时前
MyBatis是什么?为什么有全自动ORM框架还是MyBatis比较受欢迎?
java·mybatis·框架·半自动
林的快手2 小时前
209.长度最小的子数组
java·数据结构·数据库·python·算法·leetcode
weisian1512 小时前
Redis篇--常见问题篇8--缓存一致性3(注解式缓存Spring Cache)
redis·spring·缓存