@PreDestroy
概念
@PreDestroy
属于Java EE规范。
@PreDestroy
注解用于标记当容器销毁Bean前需要执行的方法。
此方法会在Bean从容器中移除之前调用,用于释放资源、保存状态或执行清理工作。
通俗说法
想象你租了一间公寓,@PreDestroy
就像是你决定搬出公寓前要做的事情,比如拆卸家具、打扫卫生,确保房间恢复原状,然后才能顺利退租。
所属
import javax.annotation.PreDestroy;
作用
- 确保在Bean销毁前执行清理工作。
- 释放占用的资源,如关闭数据库连接、文件流等。
用法
- 标记在非静态、无参数的方法上。
- 用于资源清理、释放等操作。
使用场景
- 需要在Bean不再需要时执行清理工作。
- 关闭数据库连接、释放线程池、清理临时文件等。
使用示例
public class UserService {
@PreDestroy
public void destroy() {
System.out.println("UserService 正在销毁");
}
}