お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Spring Boot

Spring Bootは、人気のあるSpringフレームワークの上に構築されており、開発工数を削減して本番グレードのマイクロサービス、Webアプリケーション、スタンドアロンのSpringプロジェクトを簡単に構築できる幅広い拡張機能を備えています。Spring Bootには通常、Springの複雑なXML設定なしに、JettyやApache Tomcatなどの埋め込みHTTPサーバーが含まれています。

Note: 以下の例でSpring BootアプリをJARファイルとしてエクスポートする場合、含まれている埋め込みサーバーをそのまま保持できます。ただし、Spring BootアプリをWARファイルとしてエクスポートし、AppSailでJava WARとして初期化する場合は、含まれている埋め込みサーバーを除外する必要があります。これは、AppSailがWARファイルのネイティブサポートを提供し、デフォルトでJettyサーバーとバンドルするためです。

Spring Boot- JAR

この例では、サンプルのSpring Bootアプリを構築し、JARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します。

  1. Spring Initializrを開いて、新しいプロジェクトを作成します。

  2. プロジェクトに以下の設定を選択します:

    a. Project - Maven Project
    b. Language - Java
    c. Spring Boot Version - 2.7.10
    d. Package - JAR
    e. Java Version - 8
    f. Add Dependencies をクリックし、Spring Web を選択します。

  3. Generate をクリックします。

  4. プロジェクトを解凍し、任意のIDEで開きます。

  5. プロジェクトに必要なコントローラーを追加します。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.javaという名前のファイルを作成し、以下のコントローラーをファイルに追加します。

copy
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
    @GetMapping("/")
    public String index() {
        return "Greetings from Spring Boot!";
    }
}

  1. Catalystは環境変数X_ZOHO_CATALYST_LISTEN_PORTリッスン用に設定されたポートを確認し、アプリはすべてのインターフェース(ホスト0.0.0.0)でそのポートをリッスンする必要があります。そのため、ポートをカスタマイズする必要があります。プロジェクトのメインJavaファイルのディレクトリにServerPortCustomizer.javaという名前のファイルを作成し、以下のコードを追加します:
copy
package com.example.demo;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
@Component
public class ServerPortCustomizer implements WebServerFactoryCustomizer {
    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        String port = System.getenv("X_ZOHO_CATALYST_LISTEN_PORT");
        int listenPort;
        if(port != null && !port.isEmpty()) {
            listenPort = Integer.parseInt(System.getenv("X_ZOHO_CATALYST_LISTEN_PORT"));
        } else {
            listenPort = 9000;
        }
        factory.setPort(listenPort);
    }
}

これでアプリケーションを保存し、Catalystで実行できます。

  1. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます:
copy
./mvnw spring-boot:run
  1. 次に、以下のコマンドを実行してソースコードをコンパイルし、テストを実行し、コンパイル済みコードをパッケージ化できます:
copy
./mvnw clean package

これにより、targetフォルダにアプリケーションのJARファイルが生成されます。

  1. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します:

    Stack: Java 8
    Platform: Java SE

  2. 初期化時に指定したビルドディレクトリにJARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。

  3. コンソールにアプリサービスをデプロイします。

  4. コンソールから以下のスタートアップコマンドを設定できます:

copy
java -jar demo-0.0.1-SNAPSHOT.jar

デプロイ前にapp-config.jsonファイルでも設定できます。


デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。



Spring Boot - WAR

この例では、サンプルのSpring Bootアプリを構築し、WARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します:

  1. Spring Initializrを開いて、新しいプロジェクトを作成します。

  2. プロジェクトに以下の設定を選択します:

    a. Project - Maven Project
    b. Language - Java
    c. Spring Boot Version - 2.7.10
    d. Package - WAR
    e. Java Version - 8
    f. Add Dependencies をクリックし、Spring Web を選択します。

  3. Generate をクリックします。

  4. プロジェクトを解凍し、任意のIDEで開きます。

  5. プロジェクトに必要なコントローラーを追加する必要があります。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.javaという名前のファイルを作成し、以下のコントローラーをファイルに追加します。

copy
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
    @GetMapping("/")
    public String index() {
        return "Greetings from Spring Boot WAR!";
    }
}

  1. 概要で説明したとおり、WARファイル生成時に埋め込みTomcatサーバーを除外するために、プロジェクトのpom.xmlファイルを変更する必要があります。XMLファイルのspring-boot-maven-plugin enclosureに以下のスニペットを追加します:
copy
<configuration>
<mainClass>${main_class_name}</mainClass>
<classifier>exec</classifier>
</configuration>

  1. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます:
copy
./mvnw spring-boot:run

  1. 以下のコマンドでアプリケーションをCatalystにアップロードできます:
copy
./mvnw clean package

これにより、targetフォルダにアプリケーションのWARファイルが生成されます。

  1. CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します:

    Stack: Java 8
    Platform: Java WAR

  2. 初期化時に指定したビルドディレクトリにWARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。

  3. コンソールにアプリサービスをデプロイします。


デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。

最終更新日 2026-02-23 18:09:41 +0530 IST

このページについて