Loading

&【05】registerBeanPostProcessors方法调用

registerBeanPostProcessors方法调用

image-20220605162603321

BeanPostProcesspr(后置处理器)的注册,此方法就是把实现了BeanPostProcessor接口的类,提前实例化

这个接口类里面有两个方法,可以进行相应的操作,bean实例化前的操作,以及bean实例化后的操作,这个实例化发生在其他正常的实例化方法之前。

比如可以阻止其他bean的IOC依赖注入,把实现了BeanPostProcessor接口的类实例化,并且加入到BeanFactory中,如下图所示:

image-20220605164031614

BeanPostProcessor接口

image-20220605163338025

源码流程:

  1. 拿到 BeanFactory 中所有注册的 BeanDefinition 对象的名称 beanName

    image-20220605163604559

  2. 判断是否实现了PriorityOrdered排序接口,Ordered排序接口,getBean是将该ppName对应的BeanDefinition对象提前实例化。

    image-20220605163809560

  3. 把对应的BeanPostProcessor对象注册到BeanFactory中,在BeanFactory中有一个list容器接收

    image-20220605163909016





posted @ 2022-07-15 16:30  yescctv6  阅读(41)  评论(0)    收藏  举报