ホームページ >Java >&#&チュートリアル >JavaのSPIとは何ですか?

JavaのSPIとは何ですか?

WBOY
WBOY転載
2023-05-06 18:28:231689ブラウズ

概念

1. SPI はサービス プロバイダー インターフェイスです。JDK の組み込みサービス プロバイダー検出メカニズムは、Java によって提供されるサードパーティ実装または拡張 API です。フレームワーク拡張機能とコンポーネントの置換を有効にするために使用されます。

Java SPI の固有の規則

クラスパスの下にある場合、サービス インターフェイスにちなんで名付けられたファイルも、以下の META-INF/services/ ディレクトリに作成されます。クラスパス。このファイルは、このサービス インターフェイスを実装する特定の実装カテゴリです。

外部プログラムがモジュールをアセンブルする場合、jar パッケージ META-INF/services/ 内の構成ファイルを通じて特定の実装カテゴリ名を見つけ、インスタンスをロードしてモジュール インジェクションを完了できます。

2. 呼び出し元は、実際のニーズに応じてフレームワークの実装戦略を有効化、拡張、または置き換えます。

一般的な例:

データベース ドライバーの読み込みインターフェイスは、クラスの読み込みを実装します。

JDBC ロードは、さまざまなタイプのデータベースを駆動します。

Logging ロギング インターフェイス実装クラスの読み込み。

SLF4J は、さまざまなベンダーからのログ実装クラスをロードします。

Spring

SSpring では、SPI が広く使用されています。たとえば、Servlet3.0 仕様では、ServletContainerInitializer、自動型変換 TypeConversionSPI (ConverterSPI、FormatterSPI) などが実装されています。

Java にはどのようなコレクション クラスがありますか?

Java のコレクションは主に 4 つのカテゴリに分類されます:

1. リスト: 順序付け、反復可能;

# 2. キュー: 順序付けされており、繰り返し可能;

3. セット: 繰り返し不可能;

4. マップ: 順序付けされておらず、一意のキーと一意でない値を使用します。

以上がJavaのSPIとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。