--- title: "Spring Boot" url: https://docs.catalyst.zoho.com/ja/serverless/help/appsail/help-guides/java/spring-boot/ description: "Catalyst AppSailは、Catalyst Serverlessのフルマネージドプラットフォームであり、Java、Node.js、Pythonでサービスを簡単に開発・デプロイし、プラットフォームインスタンスを管理できます。" last_updated: 2026-02-23T12:39:41Z service: Serverless type: general --- # Spring Boot [Spring Boot](https://spring.io/projects/spring-boot)は、人気のある[Springフレームワーク](https://spring.io)の上に構築されており、開発工数を削減して本番グレードのマイクロサービス、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](https://start.spring.io/)を開いて、新しいプロジェクトを作成します。 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`という名前のファイルを作成し、以下のコントローラーをファイルに追加します。 ```java 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!"; } } ``` 6. Catalystは環境変数`X_ZOHO_CATALYST_LISTEN_PORT`で[リッスン用に設定されたポート](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#default-port-for-app-startups)を確認し、アプリはすべてのインターフェース(ホスト0.0.0.0)でそのポートをリッスンする必要があります。そのため、ポートをカスタマイズする必要があります。プロジェクトのメインJavaファイルのディレクトリに`ServerPortCustomizer.java`という名前のファイルを作成し、以下のコードを追加します: ```java 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で実行できます。 7. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます: ```java ./mvnw spring-boot:run ``` 8. 次に、以下のコマンドを実行してソースコードをコンパイルし、テストを実行し、コンパイル済みコードをパッケージ化できます: ```java ./mvnw clean package ``` これにより、targetフォルダにアプリケーションのJARファイルが生成されます。 9. CLIから同じディレクトリで[AppSailサービスを初期化](https://docs.catalyst.zoho.com/ja/cli/v1/initialize-resources/initialize-appsail/)するか、既存のプロジェクトディレクトリに[追加](https://docs.catalyst.zoho.com/ja/cli/v1/add-appsail/)できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 **Platform:** Java SE 10. 初期化時に指定したビルドディレクトリにJARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 11. コンソールに[アプリサービスをデプロイ](https://docs.catalyst.zoho.com/ja/cli/v1/deploy-resources/deploy-appsail//)します。 12. コンソールから以下の[スタートアップコマンド](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#startup-commands)を設定できます: ```java java -jar demo-0.0.1-SNAPSHOT.jar ``` デプロイ前に`app-config.json`ファイルでも設定できます。 デプロイされたアプリサービスには、その[エンドポイントURL](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#custom-domain-url)からアクセスできます。 ### Spring Boot - WAR この例では、サンプルのSpring Bootアプリを構築し、WARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します: 1. [Spring Initializr](https://start.spring.io/)を開いて、新しいプロジェクトを作成します。 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`という名前のファイルを作成し、以下のコントローラーをファイルに追加します。 ```java 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!"; } } ``` 6. 概要で説明したとおり、WARファイル生成時に埋め込みTomcatサーバーを除外するために、プロジェクトの`pom.xml`ファイルを変更する必要があります。XMLファイルの`spring-boot-maven-plugin enclosure`に以下のスニペットを追加します: ```json <configuration> <mainClass>${main_class_name}</mainClass> <classifier>exec</classifier> </configuration> ``` 7. ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます: ```java ./mvnw spring-boot:run ``` 8. 以下のコマンドでアプリケーションをCatalystにアップロードできます: ```java ./mvnw clean package ``` これにより、targetフォルダにアプリケーションのWARファイルが生成されます。 9. CLIから同じディレクトリで[AppSailサービスを初期化](https://docs.catalyst.zoho.com/ja/cli/v1/initialize-resources/initialize-appsail/)するか、既存のプロジェクトディレクトリに[追加](https://docs.catalyst.zoho.com/ja/cli/v1/add-appsail/)できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します: **Stack:** Java 8 **Platform:** Java WAR 10. 初期化時に指定したビルドディレクトリにWARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。 11. コンソールに[アプリサービスをデプロイ](https://docs.catalyst.zoho.com/ja/cli/v1/deploy-resources/deploy-appsail//)します。 デプロイされたアプリサービスには、その[エンドポイントURL](https://docs.catalyst.zoho.com/ja/serverless/help/appsail/key-concepts/appsail-execution/#custom-domain-url)からアクセスできます。