zoukankan      html  css  js  c++  java
  • 初始化和销毁方法、spring初始化后处理器

    spring 支持了三种初始化和销毁方法
    1、加注解。@PostConstruct 和 @PreDestroy
    这种初始化方法最先执行,是初始化后处理支持的,具体实现类
    org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor#postProcessBeforeInitialization
    销毁方法:org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor#postProcessBeforeDestruction
    2、实现接口。InitializingBean,DisposableBean
    初始化方法会在所有初始化后处理执行完之后执行,这个就是判断一下当前bean是否是InitializingBean类型
    销毁方法:销毁每一个单例的时候会判断是否实现了DisposableBean ,实现了就回执行销毁方法
    3、通过@Bean指定。 @Bean(initMethod = "init1",destroyMethod = "destroy1")
    自定义的方法是最后执行的。

    销毁方法需要调用容器关闭方法,要不然是不会执行

    BeanPostProcessor bean的后置处理器
    postProcessBeforeInitialization 初始化前的后置处理器,处理Bean时机属性赋值之后,init方法之前,可以将处
    理后的bean作为原来bean的替代者。如果有多个后置处理器,则会遍历所有的后置处理器,如果有一个后置处理器返回null
    返回上一个后置处理器处理的bean
    postProcessAfterInitialization 初始化后的后置处理器,处理bean的时机是定义的初始化方法之后,如果有多个后置处
    理器,则会遍历所有的后置处理器,如果有一个后置处理器返回null返回上一个后置处理器处理的bean

  • 相关阅读:
    LVDS 数据通道详解 单8 单6
    MFC中CTime获取日期时间的方法
    Sqlite 修改字段的名称。
    SQLite 字段数据类型
    把View转化成Image
    iOS 键盘类型UIKeyboardType
    验证银行卡号格式是否正确
    获取手机wifi下的网络地址
    图形处理专题(文章收集)
    收藏的博客
  • 原文地址:https://www.cnblogs.com/mao-yan/p/13614913.html
Copyright © 2011-2022 走看看