服务提供者接口(SPI)

SPI的概念在一些文章里经常能遇见,SPI(Service Provider Interface)顾名思义即服务提供者接口,其是一组将被服务提供方(第三方)实现,扩展的应用程序接口(API),服务提供方通过实现SPI实现具体服务。

SPI本身是一个一般化的概念,可以应用于不同的平台中。

Java平台中,一项服务定义了一组已知的接口和(abstract)类,服务提供者实现,扩展了定义在服务本身内的接口和类,是服务本身的一个特定的具体实现,一项服务可以被多个不同的服务提供者实现。

服务提供者可以通过扩展的形式安装到Java平台,也就是把JAR包放到常规的扩展目录下,也可以通过把服务提供者放到应用程序的classpath下使其在应用程序中可用,此外,一些特定的平台有着其特有的安装方式。

Java平台中,SPI有着广泛的应用,比如:Java Cryptography Extension(JCE),Java Naming and Directory Interface(JNDI),Java Sound,Java Image I/O,Java API for XML Processing(JAXP),以及非常常见的Java Database Connectivity(JDBC)。

SPI让程序更加具有扩展性,让程序组件具有更好的可替换性,SPI使程序更加灵活,更易复用,更松耦合。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值