Java基盤技術のモジュール化とジグソー実装方法

王林
リリース: 2023-11-08 15:15:25
オリジナル
907 人が閲覧しました

Java基盤技術のモジュール化とジグソー実装方法

Java 開発者にとって、モジュール化は非常に重要なテクノロジです。これは、コードをより適切に整理し、結合を減らし、コードの保守性と可読性を向上させるのに役立ちます。 Java 9 では Jigsaw モジュール システムが導入されており、開発者がモジュール コードを簡単に作成、管理、使用できるようにする新しいモジュール アプローチが提供されます。この記事では、Java の基盤テクノロジーのモジュール化とジグソーを実装する方法を紹介し、具体的なコード例を示します。

1.モジュール性とは何ですか?

モジュール化とは、アプリケーション全体を一連のモジュール (またはコンポーネント) に分割することを指します。各モジュールには独自の機能と責任があり、互いに独立しています。 Java では、モジュールにクラス、インターフェイス、その他のリソース ファイルを含めることができ、外部から提供される API やその他の依存モジュールを指定することもできます。

2. Jigsaw の概要

Jigsaw は Java 9 で導入された主要な機能であり、開発者がモジュラー コードを簡単に作成、管理、使用できるようにする新しいモジュラー アプローチを提供します。 Jigsaw には主に次の機能が含まれています。

  1. モジュールの定義: 開発者は、モジュール名、API、依存関係、その他の情報が含まれる module-info.java ファイルを通じてモジュールを定義できます。
  2. モジュール パス: モジュールは、クラス パスを介して他のモジュールを参照する必要がなく、より直感的な方法で他のモジュールを参照できます。
  3. アクセスの制限: モジュールは、コードのセキュリティを向上させるために、エクスポートと公開を通じて他のモジュールのアクセス権を制限できます。
  4. jlink ツール: jlink ツールを使用して、アプリケーション モジュールとその依存関係のみを含むランタイム イメージをパッケージ化できます。

3. モジュール化とジグソーの実装

以下では、具体的な例を使用して、ジグソーを使用してモジュール式 Java アプリケーションを実装する方法を示します。 Hello World を印刷するための Hello モジュールと、Hello World を印刷するためのサービスを提供する Greeting モジュールの 2 つのモジュールを含む単純なアプリケーションを作成します。

  1. モジュールの作成

まず、Greeting モジュールに依存する Hello というモジュールを作成する必要があります。プロジェクトのルートディレクトリに以下の構造を作成します。

hello-module
|--src
   |--hello
      |--module-info.java
      |--com
         |--example
            |--hello
               |--Hello.java
|--greeting-module
   |--src
      |--greeting
         |--module-info.java
         |--com
            |--example
               |--greeting
                  |--GreetingService.java
ログイン後にコピー
  1. モジュール情報の定義

HelloモジュールとGreetingモジュールのそれぞれ module-info.java にモジュール情報を定義します。 :

Hello モジュール module-info.java:

module hello {
    requires greeting;
}
ログイン後にコピー

Greeting モジュール module-info.java:

module greeting {
    exports com.example.greeting;
}
ログイン後にコピー
  1. 実装コード
#次に、HelloモジュールとGreetingモジュールのコードを実装しましょう。

Hello モジュールの Hello.java:

package com.example.hello;

import com.example.greeting.GreetingService;

public class Hello {
    public static void main(String[] args) {
        GreetingService greetingService = new GreetingService();
        System.out.println(greetingService.getGreeting());
    }
}
ログイン後にコピー

GreetingService.java (Greeting モジュール):

package com.example.greeting;

public class GreetingService {
    public String getGreeting() {
        return "Hello, World!";
    }
}
ログイン後にコピー

    コンパイルと操作
Completeコードを記述した後、javac コマンドを使用して Hello モジュールと Greeting モジュールをそれぞれコンパイルできます:

javac -d out/hello --module-source-path hello-module/src hello-module/src/hello/module-info.java hello-module/src/com/example/hello/Hello.java

javac -d out/greeting --module-source-path greeting-module/src greeting-module/src/greeting/module-info.java greeting-module/src/com/example/greeting/GreetingService.java
ログイン後にコピー

次に、java コマンドを使用して Hello モジュールを実行できます:

java --module-path out/hello --module hello/com.example.hello.Hello
ログイン後にコピー
概要

上記の例を通じて、Jigsaw モジュラー システムにより、コードを編成および管理するためのより構造化および標準化された方法が提供されることがわかります。これは、モジュール間の結合を減らし、コードの保守性と可読性を向上させるのに役立ちます。 Jigsaw を注意深く研究することで、Jigsaw をより効果的に活用して、より堅牢で保守性が高く、スケーラブルな Java アプリケーションを構築できます。この記事が、Java の基礎となるテクノロジのモジュール化とジグソーを理解し、使用する皆さんにとって役立つことを願っています。

以上がJava基盤技術のモジュール化とジグソー実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート