JavaのSPIとは何ですか?

WBOY
リリース: 2023-05-06 18:28:23
転載
1650 人が閲覧しました

概念

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート