Bean后置处理器 BeanPostProcessor

Posted hxwang

tags:

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

1.BeanPostProcessor接口的作用

Bean后置处理器允许在调用初始化方法前后对Bean进行额外的处理,Bean后置处理器对IOC容器的所有bean实例逐一处理,而非单一实例。

我们可以定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IOC容器中。

2.BeanPostProcess接口的api

public interface BeanPostProcessor {

    /**
     * Apply this BeanPostProcessor to the given new bean instance <i>before</i> any bean
     * initialization callbacks (like InitializingBean‘s {@code afterPropertiesSet}
     * or a custom init-method). The bean will already be populated with property values.
     */
//实例化、依赖注入完毕,在调用显示的初始化之前完成一些定制的初始化任务
@Nullable default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; } /** * Apply this BeanPostProcessor to the given new bean instance <i>after</i> any bean * initialization callbacks (like InitializingBean‘s {@code afterPropertiesSet} * or a custom init-method). The bean will already be populated with property values. */ //实例化、依赖注入、初始化完毕后执行
@Nullable
default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { return bean; } }

 

以上是关于Bean后置处理器 BeanPostProcessor的主要内容,如果未能解决你的问题,请参考以下文章

spring之添加后置处理器的bean的生命周期

Spring的后置处理器

bean的后置处理器与aop相关吗

spring的后置处理器

Spring Bean的后置处理

Spring Bean的后置处理