Spring容器的创建过程之如何注册BeanPostProcessor详解

网友投稿 579 2023-01-14

Spring容器的创建过程之如何注册BeanPostProcessor详解

Spring容器的创建过程之如何注册BeanPostProcessor详解

注册BeanPostProcessor

refresh()调用registerBeanPostProcessors(beanFactory)方法,注册Bean的后置处理器,后置处理器是用来拦截bean创建过程的。

不同接口类型的BeanPostProcessor,即继承了BeanPostProcessor接口的子接口,在Bean创建前后的执行时机是不一样的

BeanPostProcessor

DestructionAwareBeanPostProcessor

InstantiationAwareBeanPostProcessor

SmartInstantiationAwareBeanPostProcessor

MergedBeanDefinitionPostProcessor

首先获取所有的BeanPostProcessor

后置处理器都默认可以通过PriorityOrdered、Ordered这两个接口来指定执行优先级

先注册实现了priorityOrdered优先级接口的BeanPostProcessor,调用registerBeanPostProcessors()方法进行注册

registerBeanPostProcessors()方法调用addBeanPostProcessorBQSNJifhhL()方法将BeanPostProcessor添加到BeanFhttp://actory中

再注册实现了Ordered优先级接口的BeanPostProcessor

最后注册没有实现任何优先级接口的BeanPostProcessor

最终注册MergedBeanDefinitionPostProcessor类型的BeanPostProcessor

还会注册一个Applicahttp://tionListenerDetector来在Bean创建完成后检查是否ApplicationListener,如果是,就会把这个-bean放在容器中保存起来

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小红书app运营模式(小红书app的盈利模式)
下一篇:企业app开发机制(APP开发模式)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~