服務供給接口

英文名為Service Provider Interface,簡稱為SPI,是Java的一個內置標準,允許不同的開發者去實現某個特定的服務。

基本介紹

  • 中文名:服務供給接口
  • 外文名:Service Provider Interface
  • 簡稱:SPI
  • 含義:提供某種特定服務的接口
定義,性質,套用,

定義

英文名為Service Provider Interface,簡稱為SPI。服務提供接口即用於提供某種特定服務的接口。

性質

SPI是Java 1.5新添加的一個內置標準,允許不同的開發者去實現某個特定的服務。一個Service就是一套著名的接口或抽象類,而Service Provider是這個Service的一個特定實現類。

套用

在Java中Service Provider按Service接口分類,同一個Service只能有一個實現類被註冊。因為在實際中,Service都是單例的。如果同時註冊了多個,後面的Service Provider將覆蓋前面註冊的Service Provider。
聲明一個service provider需要在JAR包的META-INF目錄下創建一個services子目錄,並且為每一個service provider提供一個以Service全名命名的檔案。假如JAR包有一個類com.mycompany.mypkg.MyServiceImpl實現了javax.someapi.SomeService接口,JAR包中應該包含一個檔案:
META-INF/services/javax.someapi.SomeService
這個檔案中包含一行:
com.mycompany.mypkg.MyService

相關詞條

熱門詞條

聯絡我們