Service Provider Interface(SPI) 是一种服务发现机制。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。
springboot自动装配就是利用SPI机制实现的,如下实现自动装配
获取自动装配的类的全限定名称
获取interface org.springframework.boot.autoconfigure.EnableAutoConfiguration对应的类全限定名称
计算这个方法的结果就是spring.factories中配置的类