Spring容器相关扩展点

Posted jieyuefeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring容器相关扩展点相关的知识,希望对你有一定的参考价值。

// 如果容器内的bean实现了该接口,那么在容器中实例化任何其他bean之前都会回调该方法来对bean的配置元数据进行修改
public interface BeanFactoryPostProcessor {
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;
}
// 通知接口
public interface Aware {

}

// 常用:
// - BeanNameAware
// - BeanFactoryAware
// - BeanClassLoaderAware
// - ApplicationContextAware
// 如果容器内的bean实现了该接口,那么在容器实例化该bean之后,执行初始化方法前/后调用
public interface BeanPostProcessor {
    // call before initMethod
    default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }

    // call after initMethod
    default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        return bean;
    }
}
// 如果bean实现了该接口,那么容器会在实例化完成后调用afterPropertiesSet方法进行一些初始化
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}
// 如果bean实现了该接口,容器会在bean实例销毁之前调用destory方法,来完成一些回收工作
public interface DisposableBean {
    void destroy() throws Exception;
}

参考:https://www.cnblogs.com/v1haoge/p/6106456.html

以上是关于Spring容器相关扩展点的主要内容,如果未能解决你的问题,请参考以下文章

秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止

秒懂SpringBoot之Spring对象生命周期与扩展点浅尝辄止

Spring源码系列 — BeanDefinition扩展点

掌握这些 Spring Boot 启动扩展点,已经超过 90% 的人了

掌握这些 Spring Boot 启动扩展点,已经超过 90% 的人了

0001 - Spring 框架和 Tomcat 容器扩展接口揭秘