美文网首页
BeanPostProcessor

BeanPostProcessor

作者: 轻易流逝 | 来源:发表于2018-10-10 19:47 被阅读0次

    BeanPostProcessor是spring提供的一个扩展点,通过BeanPostProcessor扩展点,我们可以对Spring管理的bean进行再加工。比如:修改bean的属性(@ConfigurationProperties注解的原理)、生成一个动态代理(事物)等。

    public interface BeanPostProcessor {
    
        default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
            return bean;
        }
    
        default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
            return bean;
        }
    
    }
    

    它有两个方法postProcessBeforeInitialization,postProcessAfterInitialization
    分别在bean初始化之前和之后执行。
    执行顺序如下:
    1,首先执行bean的构造方法,
    2,BeanPostProcessor的postProcessBeforeInitialization方法
    3,InitializingBean的afterPropertiesSet方法
    4,initMethod方法
    5,BeanPostProcessor的postProcessAfterInitialization方法

    相关文章

      网友评论

          本文标题:BeanPostProcessor

          本文链接:https://www.haomeiwen.com/subject/qmipaftx.html