Flutter开发App的未来及其在各行业的应用潜力分析
579
2023-01-14
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~