💻 Spring Framework 講座【第14回】ハンズオン開始!〜Spring Initializrでプロジェクトの雛形を作る〜

docs

前回、Spring Bootの強力な機能であるAuto-ConfigurationStarter POMsについて学びました。Spring Bootは、私たちを面倒な設定作業から解放してくれる最高のパートナーです。

今回は、そのSpring Bootプロジェクトを、最も簡単かつ標準的な方法で作成するためのウェブツール「Spring Initializr (イニシャライザ)」の使い方を、ハンズオン形式で解説します。

1. Spring Initializrとは?

Spring Initializrは、ウェブブラウザ上でいくつかの項目を選択するだけで、Spring Bootアプリケーションの最小限必要な構成ファイル(Mavenなら pom.xml、Gradleなら build.gradle やメインクラスなど)が揃った**プロジェクトの雛形(テンプレート)圧縮ファイル(ZIP)**としてダウンロードできるサービスです。

これにより、プロジェクトの初期設定にかかる時間をゼロにできます。


2. プロジェクト作成ハンズオン

実際にSpring Initializrを使って、簡単なWebアプリケーションの雛形を作成してみましょう。

2-1. Initializrへアクセス

以下のURLにアクセスしてください。

Spring Initializr

2-2. プロジェクトの基本情報の設定

ウェブサイトの左側(Project 部分)で、アプリケーションの基本的な設定を行います。

項目名設定値意味
ProjectGradle – Groovyビルドツールを選択します。この講座ではモダンなGradleを使用します。
LanguageJava使用言語はJavaを選択します。
Spring Boot安定版の最新(例: 3.2.x)最新の安定版を選択します。
Groupcom.example会社や組織を表すドメイン名を逆順にしたもの。
Artifactdemoプロジェクト名(成果物名)です。任意で変更できます。
Package namecom.example.demoGroupArtifactから自動生成されます。
PackagingJar組み込みサーバー(Embedded Server)で動かすため Jar を選択します。
Java17LTS(長期サポート)バージョンのJava 17を選択します。

2-3. 依存関係(Dependencies)の追加

ウェブサイトの右側にある「ADD DEPENDENCIES」ボタンをクリックして、このプロジェクトで必要な機能を決めます。

今回はWebアプリケーションを作成するため、以下の二つを追加します。

  1. Spring Web: Webアプリケーション(RESTful APIを含む)を構築するための基本セットです。TomcatとSpring MVCの設定が自動で組み込まれます。
  2. Lombok: Java開発で定型的なコード(getter/setterなど)を自動生成してくれる便利なライブラリです。

2-4. プロジェクトの生成とダウンロード

全ての設定が終わったら、画面下部にある緑色の「GENERATE」ボタンをクリックします。

設定内容に基づいたZIPファイルがダウンロードされます。


3. プロジェクトの構造確認

ダウンロードしたZIPファイルを解凍し、前回までに準備したIntelliJ IDEAなどのIDEで開いてください。IDEが build.gradle ファイルを読み込み、必要なライブラリを自動でダウンロードし始めます。

プロジェクトのフォルダ構造は以下のようになっているはずです。

demo/
├── .gradle/
├── build.gradle        // ① ビルド設定ファイル(依存関係、Javaバージョンなど)
├── gradlew             // Gradle実行用スクリプト
└── src/
    ├── main/
    │   ├── java/
    │   │   └── com/example/demo/
    │   │       └── **DemoApplication.java** // ② 実行用メインクラス
    │   └── resources/
    │       ├── application.properties // ③ アプリケーション設定ファイル
    │       └── static/
    └── test/

3-1. build.gradle の確認

特に build.gradle を見てみましょう。選択した依存関係が正しく記述されていることが確認できます。

Groovy

dependencies {
    // Spring Initializrで選択した Web Starter が含まれている
	implementation 'org.springframework.boot:spring-boot-starter-web' 
    
    // Lombokライブラリ。コンパイル時のみ使用
	compileOnly 'org.projectlombok:lombok' 
    // ... その他の依存関係
}

3-2. メインクラスの確認

DemoApplication.java を開くと、前回学んだ @SpringBootApplication アノテーションが付与されたシンプルなクラスがあることがわかります。

Java

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}
}

4. プロジェクトの実行

この状態でも、Spring BootアプリケーションはWebサーバー(Tomcat)を組み込んで起動できます。

IntelliJ IDEAなどのIDEで、DemoApplication.java の main メソッド横にある**実行ボタン(▶)**を押してください。

コンソールに以下のようなログが出力されれば、Webサーバーが起動しています。

... Started DemoApplication in X.XXX seconds (process running for X.XXX)
... Tomcat initialized with port(s): 8080 (http)

この時点では、どのURLにアクセスしても何も定義していないためエラーになりますが、これでアプリケーションの**「土台」**は完全に動作しています!

✅ 本日のまとめ

  • Spring Initializr を使って、Spring Bootプロジェクトの雛形を簡単に作成した。
  • プロジェクトの構成として、GradleJava 17Spring WebLombokを選択した。
  • メインクラスには @SpringBootApplication が付いており、これが全ての自動設定を有効にしている。
  • プロジェクトを起動し、Webサーバー(Tomcat)がポート 8080 で正常に立ち上がったことを確認した。

🔔 次回予告

アプリケーションの土台ができたので、いよいよWebアプリケーションの核である Spring Web MVC に入っていきます。

次回は、ユーザーからのリクエストを受け付ける**@RestController**(コントローラ)の定義方法と、URLとメソッドを結びつける @RequestMapping の使い方を学び、実際にブラウザに「Hello Spring!」と表示させる最初のAPIを作成します。

次回:【第15回】Spring Web MVC (1) – @RestControllerとルーティング にご期待ください!

コメント

タイトルとURLをコピーしました