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 接口:

import org.springframework.beans.factory.DisposableBean;public class MyDisposableBean implements DisposableBean {@Overridepublic void destroy() throws Exception {// 在这里编写销毁 bean 时的清理逻辑System.out.println("Bean is being destroyed.");}// 其他类的方法
}

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

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

import javax.annotation.PreDestroy;public class MyBean {@PreDestroypublic void customDestroyMethod() {// 在这里编写销毁 bean 时的清理逻辑System.out.println("Bean is being destroyed.");}// 其他类的方法
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/293856.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宝塔面板操作一个服务器域名部署多个网站

此处记录IP一样,端口不一样的操作方式: 宝塔面板操作: 1、创建第一个网站: 网站名用IP地址,默认80端口。 创建好后,直接IP访问就可以了。看到自带的默认首页 2、接下来部署第二个网站: 仍然是…

docker-compose mysql

使用docker-compose 部署 MySQL(所有版本通用) 一、拉取MySQL镜像 我这里使用的是MySQL8.0.18,可以自行选择需要的版本。 docker pull mysql:8.0.18二、创建挂载目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /dat…

IC-随便记

1、移远通信---通信模组 物联网解决方案供应商,可提供完备的IoT产品和服务,涵盖蜂窝模组(5G/4G/3G/2G/LPWA)、车载前装模组、智能模组(5G/4G/边缘计算)、短距离通信模组(Wi-Fi&BT)、GNSS定位模组、卫星通信模组、天线等硬件产…

阿里云CentOS7安装MySQL8

创建目录 [rootnode1 ~]# mkdir /usr/local/mysql [rootnode1 ~]# cd /usr/local/mysql/ 下载安装包 到MySQL官网查看需要下载的版本,并获取到下载地址 https://downloads.mysql.com/archives/community/下载 [rootnode1 mysql]# wget https://downloads.mysql…

Linux - 第三节

改变用户类型 su 仅单纯的进行身份变化 依旧处于普通用户里面 su - 进行重新登录更改身份 退出用exit / ctrld su 用户名 改成成其他身份 对一条命令进行提权 sudo command r:可读 w:可写 x:可执行 -:对应的权限位置,没有权限 去掉所有权限 chmod u…

java日志技术——Logback日志框架安装及概述

前言: 整理下学习笔记,打好基础,daydayup!!! 日志 什么是日志 程序中的日志,通常就是一个文件,里面记录的是程序运行过程中的各种信息,通过日志可以进行操作分析,bug定位等 记录日志的方案 程…

嵌入式系统基础知识(一):嵌入式系统是什么?

一.定义 根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。这主要是从应用上加以定义的,从中可看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装…

云渲染实用工具:3ds max怎么改低版本?

3ds Max是建模领域广泛采用的专业软件,它通过定期更新来不断增强功能和提升性能。但这些频繁的更新有时会导致一些插件暂时无法与新版本完全兼容。为了解决这个问题,设计师们可以采用一个简单有效的方法,那就是将较新版本的3ds Max文件进行版…

Java常见限流用法介绍和实现

目录 一、现象 二、工具 ​​​​​​1、AtomicInteger,AtomicLong 原子类操作 ​​​​​​2、RedisLua ​​​​​​3、Google Guava的RateLimiter 1) 使用 2) Demo 3) 优化demo 4、阿里开源的Sentinel 三、算法 1、计数限流 &…

python练习二

# Demo85def pai_xu(ls_test):#创建一个列表排序函数命名为pai_xu# 对创建的函数进行注释"""这是一个关于列表正序/倒序排列的函数:param ls_test: 需要排序的列表:return:"""ls1 [int(ls_test[i]) for i in range(len(ls_test))]#对input输入的…

基于Java+Springboot+vue高校资源共享交流平台设计和实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

C++刷题篇——05静态扫描

一、题目 二、解题思路 注意:注意理解题目,缓存的前提是先扫描一次 1、使用两个map,两个map的key相同,map1:key为文件标识,value为文件出现的次数;map2:key为文件标识,va…

手写简易操作系统(十九)--实现0x80中断

前情提要 上一节我们实现了用户程序,现在的用户程序还是一个函数来模拟的,后面我们会把编译好的用户程序放在硬盘里,通过硬盘加载。 众所周知,用户程序使用系统服务是通过 0x80 中断进行的,也只能通过中断进入高优先…

CTF wed安全(攻防世界)练习题

一、Training-WWW-Robots 进入网站如图: 翻译:在这个小小的挑战训练中,你将学习Robots exclusion standard。网络爬虫使用robots.txt文件来检查它们是否被允许抓取和索引您的网站或只是其中的一部分。 有时这些文件会暴露目录结构&#xff0c…

Qt6.6添加多媒体模块Multimedia报错问题

问题 QT包含多媒体模块Multimedia时提示未知的模块: error: Project ERROR: Unknown module(s) in QT: multimedia 在帮助文档中只可以找到QMediaPlayer类,但是点进去是空的,这是因为没有安装多媒体模块及对应的帮助文档。 解决 使用在线…

StringBuffer与StringBuilder

1.区别 (1). String : 不可变字符序列. (2). StringBuffer : 可变字符序列.线程安全,但效率低. (3). StringBuilder : 可变字符序列.线程不安全,但效率高. 既然StringBuffer与StringBuilder都是可变字符序列,但二者咋区分开呢&#xff1f…

黑马点评项目笔记 II

基于Stream的消息队列 stream是一种数据类型,可以实现一个功能非常完善的消息队列 key:队列名称 nomkstream:如果队列不存在是否自动创建,默认创建 maxlen/minid:设置消息队列的最大消息数量 *|ID 唯一id:…

200个有趣的HTML前端游戏项目合集(持续更新中)

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

Docker工作流

1.工作流 开发应用编写Dockerfile构建Docker镜像运行Docker容器测试应用发布镜像到Hub迭代更新镜像 2.开发应用 首先你需要创建一个应用,这个应用可以是后端应用或者前端应用,任何语言都可以。 比如:我使用IDEA 创建一个Java后端应用&…

【C++庖丁解牛】默认成员函数

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 前言1. 构造函数1.1 概念…