Spring Initializr でプロジェクトの作成
構築するもの
どんなブラウザーでも接続できる典型的な "Hello World!" Web API を作成します。あなたの名前を伝えることで、フレンドリーな応答を返してくれます。必要なもの
統合開発環境 (IDE)
人気のある選択肢としては、IntelliJ IDEA (英語) 、Visual Studio Code (英語) と Spring Boot 拡張パック (英語) 、Eclipse (英語) と Pleiades All in One (JDK, STS, Lombok 付属) または Spring Tools (英語) などがあります。
ステップ 1 : 新しい Spring Boot プロジェクトを開始する
start.spring.io を使用して "Web" プロジェクトを作成します。このリンクをクリックすると、以下の設定がすでに入力された状態でプロジェクトが開きます。
- プロジェクト : Gradle - Groovy (ご希望であれば、Maven を選択してください。)
- 言語 : Java (ステップ 2 で Kotlin コードを使用する予定の場合は、代わりに Kotlin を選択してください。)
- 依存関係 : Spring Web
「生成」ボタンをクリックして zip ファイルをダウンロードし、コンピューター上のフォルダーに解凍してください。
生成されたプロジェクトには Spring Boot が含まれています。これは、Spring をアプリ内で使用できるようにするフレームワークですが、多くのコードや構成は必要ありません。Spring Boot は、Spring プロジェクトを開始するための最も迅速で最も人気のある方法です。
ステップ 2 : コードを追加
IDE でプロジェクトを開き、以下のリストからプロジェクトの言語に対応するタブを選択してください。指定されたパスにあるアプリケーションファイルを探し、その内容を以下のコードに置き換えてください。コードはコピー & ペーストするか、直接入力してください。
src/main/java/com/example/demo/DemoApplication.java
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
これは、Spring Boot で単純な "Hello World" Web サービスを作成するために必要なすべてのコードです。
今回追加した hello() メソッドは、name という String パラメーターを受け取り、それを使って挨拶文を作成します。つまり、リクエストで名前を "Amy" に設定すると、レスポンスは「こんにちは、エイミー !」となります。
@RestController アノテーションは、このコードが Web 上で利用可能にするエンドポイントを記述していることを Spring に伝えます。@GetMapping("/hello") は、http://localhost:8080/hello アドレスに送信されたリクエストに応答するために、hello() メソッドを使用するように Spring に指示します。最後に、@RequestParam は、name リクエストパラメーターをメソッドの name パラメーターにバインドします。存在しない場合、Java の例ではアノテーションの defaultValue を使用し、Kotlin の例ではデフォルト引数を使用します。どちらも "World" に設定されています。
ステップ 3 : 試してみよう
プログラムを実行してみましょう。単純な Java アプリケーションと同じように実行するだけです。Eclipse STS では Boot ダッシュボードから実行できます。
Maven を選択した場合は、代わりに ./mvnw spring-boot:run (MacOS/Linux)または .\mvnw.cmd spring-boot:run (Windows)を実行してください。
出力結果を見ると、最後の 2 行が以下のような形式になっているはずです。
INFO ... Tomcat started on port 8080 (http) with context path '/'
INFO ... Started DemoApplication in 1.2 seconds (process running for 1.5)
これは、Spring が起動したことを示しています。Spring Boot に組み込まれている Apache Tomcat サーバーは Web サーバーとして動作し、localhost ポート 8080 でリクエストを待機しています。ブラウザーを開き、上部のアドレスバーに http://localhost:8080/hello と入力するか、別のターミナルで curl を使用してください。
curl http://localhost:8080/hello
次のような、親切で好意的な返答が得られるはずです。
Hello World!
ここでクイズ
URL の末尾に ?name=Amy を追加するとどうなるでしょうか?
次は人気のガイドを試してみよう
Spring がいかにシンプルであるかはすでにお分かりいただけたと思いますが、非常に柔軟でもあります。Spring でできることは何千もあります。最も一般的な選択肢を紹介するガイドが多数用意されています。学習を続けて、これらの追加ガイドのいずれかを試してみませんか ?