Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9でサービスプロバイダーインターフェイス(SPI)を作成する手順を解説

Java 9で導入されたモジュールシステムにおいて、Serviceインターフェイスの実装を提供するモジュールは、module descriptorファイル(module-info.java)内に「provides」ステートメントを記述する必要があります。もしモジュール記述子ファイルに「provides」ステートメントが存在しない場合、ServiceLoaderはそのモジュールを読み込むことができません。

サービスプロバイダーインターフェイスの作成手順

以下の手順に従うことで、Service Provider Interface(SPI)を作成できます。

  • 新しいモジュール com.tutorialspoint.serviceproviderinterface を作成します。
  • src/main/java ディレクトリ内に、モジュール記述子ファイルである「module-info.java」を作成します。
  • ソースディレクトリ内に、パッケージ com.tutorialspoint.serviceproviderinterface.spi を作成します。
  • 最後に、実装すべきメソッド printServiceName() を持つインターフェイス ServiceProviderInterface を定義します。

ServiceProviderInterfaceのコード例

以下のように、サービスプロバイダーインターフェイスを定義することができます。

package com.tutorialspoint.serviceproviderinterface.spi;

public interface ServiceProviderInterface {
    void printServiceName();
}

このようにして定義したSPIに対し、実装を提供する側のモジュールはmodule-info.java内で次のように宣言します。

provides com.tutorialspoint.serviceproviderinterface.spi.ServiceProviderInterface
    with com.example.MyServiceProviderImpl;

一方、サービスを利用する側のモジュールでは「uses」ステートメントでインターフェイスを指定し、java.util.ServiceLoaderクラスを使って実装クラスを動的に読み込むことができます。この仕組みにより、インターフェイスと実装を疎結合のまま分離でき、プラグインのような拡張性の高いアプリケーション設計が可能になります。

  1. JavaのJToggleButton実装ガイド:ON/OFF切替ボタンの作り方を解説

    JToggleButtonとは JToggleButtonはAbstractButtonを拡張したクラスで、クリックするたびにONとOFFが切り替わるトグルボタンを実現するために使用されます。通常のボタンと異なり、押した状態を保持できるのが特徴です。 JToggleButtonの主な特徴 最初に押されたときは押し込まれた状態のままとなり、もう一度押してはじめて元の状態(押されていない状態)に戻ります。 ボタンが押されるたびにActionEventが発生します。 さらに、JToggleButtonはItemEventも発生させることができます。このイベントは、選択状態という概念を持つコンポー

  2. Javaでログインフォームを作成する方法!Swingを使った実装例とサンプルコード

    JavaではSwingというGUIツールキットを利用することで、デスクトップアプリケーション向けのログインフォームを簡単に開発できます。この記事では、ユーザー名(User Name)とパスワード(Password)の2つのラベル、認証情報を入力するための2つのテキストフィールド、そしてSUBMIT(送信)ボタンを1つ備えたフォームを作成します。正しい認証情報が入力されると、フォーム上に「Hello admin」というメッセージが表示されます。 使用する主なコンポーネント JLabel:ラベルの表示に使用します。 JTextField:ユーザー名の入力欄です。 JPasswordField: