Java SPI
SPI: 全称是**Service Provider Interface**
它是从Java 6 开始引入的,是一种基于 ClassLoader 来发现并加载服务的机制。
一种标准的SPI,由三个组件构成,分别是:
-
Service
Service,是一个公开的接口或抽象类,定义了一个抽象的功能模块
-
Service Provider
Service Provider,则是Service接口的一个实现类。
-
Service Loader
ServiceLoader, 是SPI机制中的核心组件,负责在运行时发现并加载 Service Provider。
jdk中ServiceLoader 调用load方法加载jar包中的 Service Provider
SPI相关问题
它的作用,解决了什么问题
如何实现一个spi引用
背后的设计思想,得到的启示
JDBC中的SPI演变,引出三大要素
SPI的三大要素
策略 + 工厂 + 配置文件