关联阅读
SpringBoot - InitializingBean的作用是什么?
SpringBoot - @PostConstruct 注解详解
SpringBoot - ApplicationRunner的作用是什么?
SpringBoot - @PostConstruct、InitializingBean、 ApplicationRunner 和 CommandLineRunner的执行顺序
写在前面
被@PreDestroy注解标注的方法会在服务器卸载Servlet时运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法;
被@PreDestroy注解标注的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前执行。
使用场景
(1)在当前对象的实例被容器移除之前,会调用@PreDestroy标记的方法;
(2)该注解标注的方法,通常用来释放该实例占用的资源;
如何使用
@PostConstruct和@PreDestroy,这两个注解不属于 Spring,它们是源于 JSR-250 中的两个注解,位于 common-annotations.jar 中。@PostConstruct 注解用于标注在 Bean 被 Spring 初始化之前需要执行的方法,@PreDestroy 注解用于标注 Bean 被销毁前需要执行的方法。
(1)注解标注在方法上;
(2)注解标注的方法为非静态的void()方法;
(3)注解标注的方法不能抛出异常声明;