10. Spring中的SPI机制
2024年8月10日小于 1 分钟
SPI 是什么
spi 又叫 service provider interface
api 将 application provider interface
spring.factories 加载
spring.factories 提供给开发人员可以实现自定义拓展
核心实现类:SpringFactoriesLoader#loadFactoryNames(ClassLoader)
加载流程
invokeBeanFactoryPostProcessors()
ConfigurationClassPostProcessor#postProcessBeanDefinitionRegistry
ConfigurationClassParser#parse()
processDeferredImportSelectors()
selectImports()
getCandidateConfigurations()
SpringFactoriesLoader.loadFactoryNames()
spring.schemas 加载
spring.schemas 可以实现自定义标签
核心实现类:PluggableSchemaResolver#(resourceName,ClassLoader)