ApplicationContextInitializer的三种使用方法
概述:ApplicationContextInitializer是在springboot启动过程(refresh方法前)调用,主要是在ApplicationContextInitializer中initialize方法中拉起了ConfigurationClassPostProcessor这个类(我在springboot启动流程中有描述),通过这个processor实现了beandefinition。
链接: https://blog.csdn.net/leileibest_437147623/article/details/81074174
ImportSelector接口
总结
- ImportSelector的导入实现是通过BeanFactoryPostProcessor接口的子接口BeanDefinitionRegistryPostProcessor来实现的。
- ImportSelector接口的处理是伴随着@Configuration注解的处理一起处理的。
- ImportSelector接口可以实现自定义条件选择性导入classes。
- ImportSelector接口的字接口DeferredImportSelector在所有@Configuration处理完成后才被处理的。
- 处理ImportSelector接口时,bean定义已经被加载,但是bean还没有被实例化。
- Spring Bootn的自动配置功能就是通过DeferredImportSelector接口的实现类EnableAutoConfigurationImportSelector做到的。