SPI机制是理解各个框架集成的重要思想,只用理解了SPI才能理解框架的集成和扩展。直观的就是SPI机制可以让你更好的理解springboot集成各个扩展。
废话不多说!!
1.什么是spi机制?
Spi机制是java提供的一种服务发现机制,可以动态的加载和使用第三方提供的服务实现(j接口),不需要在服务定义方实现服务。SPI机制是基于接口编程思想的具体体现,通过将服务接口和服务实现分离,很好的实现了解耦。
2.主要作用:
- SPI机制能够使接口和具体实现类分离解耦,可以更具实际情况更换具体实现组件。
- SPI机制为框架扩展提供了方法。
3.在java中spi机制的具体实现:
在java中当要使用某个定义好的接口服务时,会去依赖的jar包里面去扫描,到指定的jar包目录ClassPath:MEAT-INFO/services/里面扫描,目录里面会有一个和接口名称一样的文件,里面有接口具体实现类的全限定名(约定大于配置思想),同个这个全限定名就可以利用反射创建对象。使用具体的服务。
4. 常见的spi机制实例
Jdbc连接数据库驱动
日志框架,
Spring框架,加载注入bean
。。。。
总结不易,有用还请给个小赞!!!!
如果还是有疑惑,可以看下面的参考文档
参考文档: