轉載自:https://zhuanlan.zhihu.com/p/30123517
ImportBeanDefinitionRegistrar
Spring官方在動態注冊bean時,大部分套路其實是使用ImportBeanDefinitionRegistrar接口。
所有實現了該接口的類的都會被ConfigurationClassPostProcessor處理,ConfigurationClassPostProcessor實現了BeanFactoryPostProcessor接口,所以ImportBeanDefinitionRegistrar中動態注冊的bean是優先與依賴其的bean初始化的,也能被aop、validator等機制處理。
使用方法
ImportBeanDefinitionRegistrar需要配合@Configuration和@Import注解,@Configuration定義Java格式的Spring配置文件,@Import注解導入實現了ImportBeanDefinitionRegistrar接口的類。