文章目录
一、什么是Bean后置处理器二、顶层核心BeanPostProcessor 接口定义三、实现案例
一、什么是Bean后置处理器
理论:Spring Bean后处理器是Spring框架提供的一种扩展机制,划重点:扩展机制。用于再Spring容器实例化、配置和初始化Bean的过程中,添加自定义逻辑。(大白话:后处理器是可以在Bean的生命周期的不同阶段 进行干预,可以对Bean进行修改、增强或者执行其他操作。开发者只要去实现,Spring当中的BeanPostProcessor接口,那么就能插手SpringBean实例化的一个过程)
二、顶层核心BeanPostProcessor 接口定义
BeanPostProcessor的接口定义如下:
public interface BeanPostProcessor {
@Nullable
//在属性注入完毕,init初始化方法执行之前被回调
default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeanException {
return bean;
}
@Nullable
//在初始化方法执行之后,被添加到单例池singletonObjects之前被回调
default Object PostProcessAfterInitialization(Object bean, String beanName) throws BeanException {
return bean;
}
}
三、实现案例
以下是自定义个一个Bean后处理器 实现了BeanPostProcessor
@Component
public class MyBeanPostProcessor implements InstantiationAwareBeanPostProcessor, DestructionAwareBeanPostProcessor {
@Override
public Object postProcessBeforeInstantiation(Class beanClass, String beanName) throws BeansException {
if (beanName.equals("lifeCycleBean")) {
System.out.println(" |