代码改变世界

ImportBeanDefinitionRegistrar原理

2024-01-19 17:04  Spiderman25  阅读(4)  评论(0)    收藏  举报
在ConfigurationClassPostProcessor类中会回调BeanDefinitionRegistryPostProcessor完成注册自定义bean的流程。
org.springframework.context.annotation.ConfigurationClassParser#processImports

 在这个方法中,如果导入的类型是ImportBeanDefinitionRegistrar的话,就会实例化实现类。并且把实例作为key,配置类作为value添加到configClass的importBeanDefinitionRegistrars

 解析完成后就会添加bean定义了

 

 

 所以实现ImportBeanDefinitionRegistrar并使用import进行导入,会回调该类中的registerBeanDefinitions方法,在方法中编写对应的注册操作就完成了自定义bean的注册了。