Loading article…
サービスプロバイダインターフェース(SPI)は、サードパーティが実装または拡張することを目的としたAPIです。フレームワークの拡張やコンポーネントの交換を可能にするために使用できます。[ 1 ] [ 2 ] [ 3 ]
Javaのドキュメントより:
サービスとは、よく知られたインターフェースと(通常は抽象)クラスの集合です。サービスプロバイダは、サービスの具体的な実装です。プロバイダ内のクラスは通常、サービス自体で定義されているインターフェースを実装し、そのクラスを継承します。サービスプロバイダは、拡張機能、つまり通常の拡張ディレクトリに配置されたjarファイルの形で、Javaプラットフォームの実装にインストールできます。プロバイダは、アプリケーションのクラスパスに追加したり、その他のプラットフォーム固有の方法で使用したりすることもできます。[ 4 ]
この概念は、対応するツールを使用して他のプラットフォームにも拡張できます。Javaランタイム環境では、SPI は次のように使用されています。[ 1 ] [ 2 ]
サービスは、アプリケーションプログラムがJava Sound APIの実装を使用する際に自動的に利用可能になるサウンド処理機能の単位です。
サービス プロバイダ インターフェイス (SPI) は、サービスが定義するパブリック インターフェイスと抽象クラスのセットです。SPI は、単一のインターフェイス (型) または抽象クラス、あるいはサービス契約を定義するインターフェイスまたは抽象クラスのセットで表すことができます
。