戴着假发的程序员出品 抖音ID:戴着假发的程序员 欢迎关注
[查看视频教程]
源码:
1 @Documented 2 @Retention (RUNTIME) 3 @Target(METHOD) 4 public @interface PreDestroy { 5 }
@PreDestroy和bean标签的destory-method有同样的作用,用于标注bean生命周期中的释放资源的方法.
案例:
1 /** 2 * @author 戴着假发的程序员 3 * 4 * @description 5 */ 6 @Component 7 public class AuthorDAO implements IAutorDAO { 8 public AuthorDAO(){ 9 System.out.println("实例化AuthorDAO"); 10 } 11 @PostConstruct 12 public void init(){ 13 System.out.println("执行AuthorDAO的初始化方法-init"); 14 } 15 @PreDestroy 16 public void destory(){ 17 System.out.println("执行AuthorDAO的释放资源的方法 -destory"); 18 } 19 @Override 20 public String get() { 21 return "戴着假发的程序员"; 22 } 23 }
当我们关闭容器时,控制台输出如下:
1 AnnotationConfigApplicationContext ac = 2 new AnnotationConfigApplicationContext("com. st.dk.demo4"); 3 System.out.println("容器初始化完成..."); 4 ac.close(); 5 System.out.println("容器关闭完成...");
实例化AuthorDAO 执行AuthorDAO的初始化方法-init 容器初始化完成... 执行AuthorDAO的释放资源的方法 -destory 容器关闭完成...