Spring Boot
Spring Bootは、人気のあるSpringフレームワークの上に構築されており、開発工数を削減して本番グレードのマイクロサービス、Webアプリケーション、スタンドアロンのSpringプロジェクトを簡単に構築できる幅広い拡張機能を備えています。Spring Bootには通常、Springの複雑なXML設定なしに、JettyやApache Tomcatなどの埋め込みHTTPサーバーが含まれています。
Spring Boot- JAR
この例では、サンプルのSpring Bootアプリを構築し、JARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します。
-
Spring Initializrを開いて、新しいプロジェクトを作成します。
-
プロジェクトに以下の設定を選択します:
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 を選択します。 -
Generate をクリックします。
-
プロジェクトを解凍し、任意のIDEで開きます。
-
プロジェクトに必要なコントローラーを追加します。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.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!";
}
}
- Catalystは環境変数X_ZOHO_CATALYST_LISTEN_PORTでリッスン用に設定されたポートを確認し、アプリはすべてのインターフェース(ホスト0.0.0.0)でそのポートをリッスンする必要があります。そのため、ポートをカスタマイズする必要があります。プロジェクトのメインJavaファイルのディレクトリにServerPortCustomizer.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で実行できます。
- ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます:
./mvnw spring-boot:run
- 次に、以下のコマンドを実行してソースコードをコンパイルし、テストを実行し、コンパイル済みコードをパッケージ化できます:
./mvnw clean package
これにより、targetフォルダにアプリケーションのJARファイルが生成されます。
-
CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します:
Stack: Java 8
Platform: Java SE -
初期化時に指定したビルドディレクトリにJARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。
-
コンソールにアプリサービスをデプロイします。
-
コンソールから以下のスタートアップコマンドを設定できます:
java -jar demo-0.0.1-SNAPSHOT.jar
デプロイ前にapp-config.jsonファイルでも設定できます。
デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。
Spring Boot - WAR
この例では、サンプルのSpring Bootアプリを構築し、WARファイルとしてエクスポートし、AppSailにデプロイする手順を説明します:
-
Spring Initializrを開いて、新しいプロジェクトを作成します。
-
プロジェクトに以下の設定を選択します:
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 を選択します。 -
Generate をクリックします。
-
プロジェクトを解凍し、任意のIDEで開きます。
-
プロジェクトに必要なコントローラーを追加する必要があります。例えば、プロジェクトのメインJavaファイルのディレクトリにDemoController.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!";
}
}
- 概要で説明したとおり、WARファイル生成時に埋め込みTomcatサーバーを除外するために、プロジェクトのpom.xmlファイルを変更する必要があります。XMLファイルのspring-boot-maven-plugin enclosureに以下のスニペットを追加します:
<configuration>
<mainClass>${main_class_name}</mainClass>
<classifier>exec</classifier>
</configuration>
- ターミナルから以下のコマンドを実行して、ローカルマシンでこのアプリケーションを実行できます:
./mvnw spring-boot:run
- 以下のコマンドでアプリケーションをCatalystにアップロードできます:
./mvnw clean package
これにより、targetフォルダにアプリケーションのWARファイルが生成されます。
-
CLIから同じディレクトリでAppSailサービスを初期化するか、既存のプロジェクトディレクトリに追加できます。アプリのソースはアプリケーションのディレクトリである必要があります。アプリサービスの初期化時に以下の値を指定します:
Stack: Java 8
Platform: Java WAR -
初期化時に指定したビルドディレクトリにWARファイルが追加されていることを確認します。Catalystは、リモートコンソールへのデプロイ時にアプリファイルを自動的にZIP圧縮します。
-
コンソールにアプリサービスをデプロイします。
デプロイされたアプリサービスには、そのエンドポイントURLからアクセスできます。
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us