こんにちは、かつコーチです。
前回の記事で、Spring BootがSpring Frameworkの設定の手間を大幅に減らしてくれるフレームワークだと紹介しました。
その「手間の少なさ」を最初に実感できるのが、プロジェクトの作成です。
この記事では、Spring Initializrを使ってSpring Bootプロジェクトを作成する手順を、実際の画面操作に沿って解説します。
Spring Initializrとは?
プロジェクトの雛形を自動生成してくれるツール
Spring Initializrとは、Spring Bootプロジェクトに必要な設定ファイルやディレクトリ構成を、Web上のフォームに入力するだけで自動生成してくれる公式ツールです。https://start.spring.ioにアクセスすると、無料で誰でも利用できます。
Javaでゼロからプロジェクトを構築しようとすると、ビルドツールの設定ファイル(pom.xmlやbuild.gradle)を手書きする必要があり、依存関係のバージョンを揃えるだけでも一苦労です。
Spring Initializrを使えば、必要なライブラリ(依存関係)を画面上でチェックするだけで、正しいバージョンの組み合わせが自動的に設定されます。
なぜ最初にInitializrを使うべきなのか
Spring Bootの学習を始める際、いきなり手動でプロジェクトを組み立てようとすると、ディレクトリ構成や設定ファイルの記法でつまずき、本来学びたいSpring自体の機能に辿り着く前に挫折しがちです。
Spring Initializrを使えば、動作確認済みの正しい構成が最初から手に入るため、余計なつまずきを避けて学習を進められます。
プロジェクト作成の手順
手順1:start.spring.ioにアクセスして基本設定を選ぶ
ブラウザでhttps://start.spring.ioを開くと、以下のような設定項目が並んでいます。
- Project:ビルドツールの選択(Maven Project または Gradle Project)
- Language:Java
- Spring Boot:バージョン(本シリーズでは3.x系の最新安定版を選択)
- Project Metadata:Group(例:
com.example)、Artifact(例:demo)、Name、Package name、Packaging(Jar)、Java(17以上)
初めての場合は、Project は「Maven Project」、Packaging は「Jar」を選んでおくのが無難です。
JavaのバージョンはSpring Boot 3.x系ではJava 17以上が必須なので、必ず17以上を選択してください。
手順2:Dependencies(依存関係)を追加する
画面右側の「ADD DEPENDENCIES」から、プロジェクトに含めたいライブラリを検索して追加します。
最初の学習用プロジェクトでは、以下を選んでおくと、Web開発の基本を一通り試せます。
- Spring Web:Webアプリケーション・REST APIを作るための基本機能
- Thymeleaf:HTML画面を組み立てるテンプレートエンジン
- Spring Boot DevTools:コード変更時に自動でアプリを再起動してくれる開発support
手順3:GENERATEボタンでダウンロードし、展開する
必要な設定を選び終えたら、画面下部の「GENERATE」ボタンをクリックします。
すると、設定内容を反映したZIPファイルがダウンロードされます。
これを任意の作業フォルダに展開すれば、プロジェクトの雛形が完成です。
demo/
├── pom.xml
├── src/
│ ├── main/
│ │ ├── java/com/example/demo/DemoApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ ├── static/
│ │ └── templates/
│ └── test/
手順4:IDEで開いて起動確認する
展開したフォルダを、IntelliJ IDEAやVS CodeなどのIDEで開きます。
IntelliJ IDEAの場合はpom.xmlを開くと自動的にMavenプロジェクトとして認識されます。DemoApplication.javaのmainメソッドを実行し、コンソールに以下のようなログが表示されれば起動成功です。
Tomcat started on port(s): 8080 (http)
Started DemoApplication in 1.234 seconds
ブラウザでhttp://localhost:8080にアクセスし、真っ白なエラー画面(Whitelabel Error Page)が表示されれば、サーバー自体は正常に起動しています。
まだ画面を作っていない段階なのでエラー表示自体は正常な状態です。
つまずきやすい設定・注意点
JavaのバージョンとSpring Bootのバージョンの不一致
筆者が初めてSpring Initializrを使ったとき、手元の環境にJava 11しか入っていないのにSpring Boot 3.xを選んでしまい、ビルド時に次のようなエラーに遭遇しました。
❌ Before
Fatal error compiling: エラー: リリース・バージョン17はサポートされていません
原因は単純で、Spring Boot 3.x系はJava 17以上が必須であるにもかかわらず、ローカルのJAVA_HOMEが古いバージョンを指していたことでした。
✅ After
# JDKのバージョンを確認する
java -version
# 17未満であれば、JDK 17以上をインストールしてJAVA_HOMEを切り替える
プロジェクトを作成する前に、必ず手元のjava -versionを確認し、Spring Initializrで選んだバージョンと一致させておきましょう。
応用・一歩先の使い方
Spring Initializrは、Web画面だけでなくコマンドラインからも利用できます。curlコマンドで直接プロジェクトを生成することも可能で、CI環境やスクリプトでの自動化にも応用できます。
curl https://start.spring.io/starter.zip \
-d dependencies=web,thymeleaf \
-d javaVersion=17 \
-d bootVersion=3.3.0 \
-o demo.zip
チームで統一したテンプレートを配布したい場合などに、こうしたコマンドライン経由の生成方法を覚えておくと便利です。
まとめ
この記事のポイント
- Spring Initializrは、Spring Bootプロジェクトの雛形を自動生成してくれる公式ツール
- Project・Language・Spring Bootバージョン・Dependenciesを選ぶだけでプロジェクトが作れる
- Spring Boot 3.x系はJava 17以上が必須。手元の環境と合わせておく
- コマンドラインからも生成でき、自動化にも応用できる
次に読むべき記事
プロジェクトを作成できたら、次は生成されたフォルダの中身を詳しく見ていく「Spring Bootのディレクトリ構成とアノテーションの基礎」に進みましょう。
タグ: Spring Boot, 初心者向け, 環境構築