小编典典

SPI和API之间的区别?

all

服务提供者接口
(SPI)
应用程序编程接口
(API)
有什么区别?

更具体地说,对于 Java 库,是什么让它们成为 API 和/或 SPI?


阅读 116

收藏
2022-04-01

共1个答案

小编典典

  • API 是对类/接口/方法/…的描述,您 调用并使用 它们来实现目标,以及
  • SPI 是对类/接口/方法/…的描述,您可以 扩展和实现 以实现目标。

换句话说,API 告诉您特定的类/方法为您做了什么,而 SPI 告诉您必须做什么才能符合要求。

通常 API 和 SPI 是分开的。例如,在
JDBC中,Driver该类
SPI 的一部分:如果您只是想使用 JDBC,则不需要直接使用它,但是实现 JDBC 驱动程序的每个人都必须实现该类。

但是,有时它们会重叠。接口既是SPI又

API:在使用JDBC驱动的时候是常规使用的,需要JDBC驱动的开发者实现Connection


2022-04-01