Java 的PostConstruct 、PreDestroy的简介
2024-01-03 14:01:05
@PostConstruct
简介
?@PostConstruct
是用于在依赖关系注入完成之后需要执行的方法上的注解,通常用于执行初始化代码。
使用场景
- 在Spring框架中初始化Bean之后执行自定义逻辑。
- 加载完成配置后,验证配置的正确性。
问题
- 在Bean生命周期中只能调用一次。
- 与组件扫描和自动装配同时使用时,必须确保扫描路径正确设置。
注意事项
- 方法上不应该有参数。
- 方法的访问修饰符通常为
public
,但也可以是protected
,?package-private
或private
。 - 只能用在方法上。
例子
import javax.annotation.PostConstruct;
public class ExampleBean {
@PostConstruct
public void init() {
// 初始化代码
}
}
结论 ?
? @PostConstruct
是Java EE的一部分,用于Bean的生命周期管理,确保在依赖注入之后执行初始化代码。
@PreDestroy
简介
@PreDestroy
注解用于标记在Bean销毁之前需要执行的清理方法上。
使用场景
- 关闭打开的资源,如文件句柄、数据库连接等。
- 在Bean销毁前执行必要的预清理操作。
问题
- 必须确保容器在销毁Bean之前调用了该方法。
- 在非正常关闭的情况下,可能不会调用。
注意事项
- 方法上不应该有参数。
- 方法的访问修饰符通常为
public
。
例子
import javax.annotation.PreDestroy;
public class ExampleBean {
@PreDestroy
public void cleanup() {
// 清理资源代码
}
}
结论
?@PreDestroy
用于清理资源,确保在Bean被销毁前进行适当的清理。
文章来源:https://blog.csdn.net/u014745465/article/details/135360945
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!