@PreDestroy Java标准注解

实现DisposableBean的Destroy()方法

自定义销毁方法

XML 配置:

Java注解 @Bean(destroy="destroy")

Java API AbstractBeanDefinition#setDestroyMethodName(String)

DemoApplication.java

package com.rumenz;

public class DemoApplication {

public static void main(String[] args) {

AnnotationConfigApplicationContext ac=new AnnotationConfigApplicationContext();

ac.register(DemoApplication.class);

ac.refresh();

System.out.println("Spring 上下文启动完成。。。。。");

final DefaultRumenzFactory bean = ac.getBean(DefaultRumenzFactory.class);

System.out.println("Spring 上下文准备关闭。。。。。");

ac.close();

System.out.println("Spring 上下文已关闭。。。。。");

}

@Bean(initMethod = "initMethod",destroyMethod = "destroy1")

public static DefaultRumenzFactory defaultRumenzFactory(){

return new DefaultRumenzFactory();

}

@PreDestroy

public void destroy(){

System.out.println("PreDestroy执行。。。。");

}

}

DefaultRumenzFactory.java

package com.rumenz;

public class DefaultRumenzFactory implements InitializingBean, DisposableBean {

public DefaultRumenzFactory() {

System.out.println("无参构造方法执行....");

}

@PostConstruct

public void init(){

System.out.println("PostConstruct init.......");

}

public void initMethod(){

System.out.println("init method.......");

}

@Override

public void afterPropertiesSet() throws Exception {

System.out.println("afterPropertiesSet.....");

}

@Override

public void destroy() throws Exception {

System.out.println("DisposableBean#destroy 执行中。。。");

}

public void destroy1(){

System.out.println("@Bean(destroyMethod = \"destroy1\") 自定义销毁方法执行...");

}

}

输出

Spring 上下文准备关闭。。。。。

DisposableBean#destroy 执行中。。。

@Bean(destroyMethod = "destroy1") 自定义销毁方法执行...

PreDestroy执行。。。。

Spring 上下文已关闭。。。。。

AnnotationConfigApplicationContext.close() 触发了销毁操作

java的销毁方法_销毁Spring Bean的三种方法相关推荐

  1. java中隐函数求导法则_隐函数求导的三种方法

    this.p={ m:2, b:2, loftPermalink:'', id:'fks_085075084086088070081083074065081087082066093087080', b ...

  2. java bean销毁,销毁Spring Bean的三种方法

    @PreDestroy Java标准注解 实现DisposableBean的Destroy()方法 自定义销毁方法 XML 配置: Java注解 @Bean(destroy="destroy ...

  3. 销毁Spring Bean的三种方法

    @PreDestroy Java标准注解 实现DisposableBean的Destroy()方法 自定义销毁方法 XML 配置:<bean destroy="destroy" ...

  4. Java实现中国式排名_统计中国式排名的三种方法,一定有一个适合你

    引言:什么是中国式排名 看到题目,可能有些朋友会产生一个疑问,什么是中国式排名?通过一个例子来看看: C列是使用了RANK函数得到的名次,RANK函数的用法很简单:=RANK(要排名的数据,参加排名的 ...

  5. Spring Bean的三种配置方式

    目录 一.传统的XML配置方式 二.基于java注解的配置 三.基于类的Java Config 正文 Spring Bean有三种配置方式: 传统的XML配置方式 基于注解的配置 基于类的Java C ...

  6. python下载方法-python实现下载文件的三种方法_python

    本篇文章主要介绍了python实现下载文件的三种方法,最常用的方法就是通过Http利用urllib或者urllib2模块还有requests,有兴趣的可以了解一下. Python开发中时长遇到要下载文 ...

  7. java json的使用方法_JAVA编写JSON常用的三种方法

    JAVA编写JSON常用的三种方法 Szx • 2019 年 11 月 15 日 1.jsonlib需要引入的包也多,代码也相对多一些. 2.Gson:谷歌的 3.FastJson:阿里巴巴的,这几个 ...

  8. java中三种方法_Java文件I/O的三种方法

    Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...

  9. java 终止方法_Java中终止线程的三种方法

    Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...

最新文章

  1. IntelliJ IDEA绑定Github报Error 403: Not Authorized没有授权问题解决方法
  2. 发起http请求_关于HTTP请求发起和响应你了解多少
  3. Python实用小技能,一个比一个高级!
  4. python数据分析入门
  5. 数据质量 开源框架_Netflix开源Polynote框架,可简化数据科学和机器学习工作流程...
  6. Mysql之sql注入
  7. 机器人方队解说词_创想机器人博物馆介绍配音解说词
  8. 基于51单片机智能电子密码锁的设计
  9. (一)幻彩灯珠-SK6812
  10. 数字图像处理-常考算法代码-详细注释
  11. 如何从ZIP文件解压缩文件
  12. 2020 DASCTFBJD 部分题解
  13. 【计算机视觉】回顾2022年计算机视觉领域最激动人心的进展
  14. next主题侧边目录点击失效无法正常跳转
  15. 新型微框架磁悬浮飞轮用洛伦兹力磁轴承
  16. html文档可以使用记事本编辑,用记事本编写的HTML文件,使用浏览器打开乱码
  17. M1 Mac使用PD虚拟机配合VSC代替Keil烧录MM32单片机
  18. 深度学习未来的研究方向,主要有哪些?
  19. linux上如何删除文件名乱码的文件
  20. 一个工作一年半的程序员的自述(四)

热门文章

  1. 逻辑回归算法c语言_逻辑回归算法背后的数学
  2. mysql 多配置文件实例安装_mysql安装之多实例多配置文件安装
  3. mysql仅php_php – MySQL仅更新表中的某些字段
  4. php项目自动布署mysql_如何自动化一键部署PHP项目
  5. mysql客户端与服务端_mysql语句在客户端与服务端的基本使用
  6. @Async的异步任务多起来了,如何配置多个线程池来隔离任务?
  7. 皮一皮:这才是「真 · 老司机」...
  8. 每日一皮:当你要下班的时候,突然测试叫住了你...
  9. 每日一皮:阅读软件许可协议让你想到了什么?
  10. 代码优化的 5 大原则,第 1 条相信你一开始就没想到!