• spring bean初始化及销毁你必须要掌握的回调方法


    spring bean在初始化和销毁的时候我们可以触发一些自定义的回调操作。

    初始化的时候实现的方法

    1、通过java提供的@PostConstruct注解;

    2、通过实现spring提供的InitializingBean接口,并重写其afterPropertiesSet方法;

    3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。

    销毁的时候实现的方法

    1、通过java提供的@PreDestroy注释;

    2、通过实现spring提供的DisposableBean接口,并重写其destroy方法;

    3、通过spring的xml bean配置或bean注解指定销毁方法,如下面实例的destroyMethod方法通过@bean注解指定。

    初始、销毁顺序是怎样的呢?

    我们通过一个简单的测试安全来验证一下,分别把它们都派上用场。

    上图为要加载并销毁的bean类。

    上图为测试并加载spring容器类,输出这个方法得到以下结果。

    ===Constructor===

    ===@PostConstruct===

    ===InitializingBean afterPropertiesSet===

    ===initMethod===

    ===@PreDestroy===

    ===DisposableBean distroy===

    ===destroyMethod===

    结论

    从测试结果看出来的结果可以总结初始和销毁对应的顺序为:

    初始:类构造器 > @PostConstruct > InitializingBean > init-method

    销毁:@PreDestroy > DisposableBean > destroyMethod

    可能还有别的初始、销毁的实现方法,欢迎留言和我交流。

  • 相关阅读:
    淘宝TFS使用笔记(一):初识TFS
    为F5-LTM上的业务添加x-forward-for
    Win7 搭建Linux开发环境
    使用PyQT开发图形界面程序
    二叉树的操作
    Harbor--企业级项目管理
    kubernetes 1.3 使用skydns + kube2dns +etcd部署DNS服务器
    搭建Kubernetes服务集群遇到的问题
    kubernetes1.3搭建dns服务
    搭建Docker私有仓库
  • 原文地址:https://www.cnblogs.com/zhangyu1024/p/9072165.html
Copyright © 2020-2023  润新知