Spring Initializrの使い方を完全ガイド!初心者でも簡単にできるプロジェクト作成方法
新人
「Spring Bootのプロジェクトって、どうやって最初に作るんですか?設定が難しそうで不安です……」
先輩
「初心者でも簡単にSpring Bootプロジェクトを始められるツールがあるよ。それがSpring Initializrだ。」
新人
「スプリングイニシャライザ……?どんなツールなんですか?」
先輩
「よし、Spring Initializrの基本から丁寧に解説していこうか。初心者でも安心して使えるようにね。」
1. Spring Initializrとは?
Spring Initializr(スプリング・イニシャライザ)は、Spring Bootのプロジェクトを簡単に作成できる公式のツールです。Web上のフォームに必要な情報を入力するだけで、Gradle構成のJavaプロジェクトを自動生成してくれます。
初心者でも、設定ファイルや依存関係などの複雑な部分を意識せずに、すぐに開発を始められるのが大きな特徴です。特にPleiadesのような統合開発環境(IDE)と組み合わせることで、よりスムーズにSpringの学習が進められます。
Spring Initializrは、ブラウザで以下のサイトからアクセスできます。
2. なぜSpring Initializrを使うのか
Spring Initializrを使う最大の理由は、プロジェクト作成の効率化です。手動でSpring Bootのプロジェクトを作成する場合、以下のような手間がかかります。
- Gradleの設定ファイル(
build.gradle)を自分で書く必要がある - 必要な依存関係(ライブラリ)を探して追加する手間がある
- Javaのパッケージ構成を自分で準備する必要がある
しかしSpring Initializrなら、チェックボックス形式で必要な機能を選ぶだけで、これらの作業を自動でやってくれます。初心者にとっては非常にありがたい仕組みです。
また、Gradle構成を選ぶことでビルドが高速になり、依存関係の管理も柔軟になります。Pleiadesでインポートすれば、そのまますぐに開発をスタートできます。
3. Spring Initializrで作れるプロジェクトの概要
Spring Initializrで生成されるプロジェクトは、以下のような構成になります。
├── build.gradle
├── settings.gradle
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com.example.demo
│ │ │ └── DemoApplication.java
│ │ └── resources
│ │ ├── application.properties
│ │ └── static / templates(テンプレート用)
│ └── test
│ └── java
│ └── com.example.demo
│ └── DemoApplicationTests.java
主な構成ファイルやディレクトリを簡単に説明します。
build.gradle:Gradleで使用されるビルド設定ファイル。依存関係もここに記述されます。application.properties:アプリケーションの設定ファイルです。ポート番号や文字コードなどをここで変更します。DemoApplication.java:Spring Bootアプリケーションの起点となるJavaクラスです。@SpringBootApplicationが付いています。static:CSSや画像などの静的ファイルを配置します。templates:Thymeleafなどのテンプレートファイル(HTML)を配置するディレクトリです。
また、@Controllerを使った基本的な画面遷移も、この構成の中ですぐに実装することができます。
4. Spring Initializrの画面の見方
それでは実際にSpring Initializrの画面を使ってみましょう。Spring Bootのプロジェクト作成を簡単にするために、画面に表示される各入力項目の意味を理解しておくことが大切です。
- Project:ここでは
Gradle - Groovyを選びましょう。Mavenは使用しません。 - Language:
Javaを選択します。 - Spring Boot:最新の安定版を選びましょう。基本的にデフォルトで問題ありません。
- Project Metadata:
- Group:通常は自分のドメイン名を逆にした形式(例:
com.example)にします。 - Artifact:プロジェクト名になります。例:
demo - Name:通常はArtifactと同じで構いません。
- Description:プロジェクトの簡単な説明を書きます。任意です。
- Package name:
Group + Artifactで自動生成されます。ここもデフォルトで問題ありません。 - Packaging:
Jarを選択します。 - Java:Javaのバージョンを選択します。Pleiadesの設定に合わせて選びましょう(例:17)。
- Group:通常は自分のドメイン名を逆にした形式(例:
- Dependencies:ここで必要な依存関係を追加します。初心者の場合は、まず以下を選ぶと良いでしょう。
Spring Web:@Controllerを使ったWebアプリの基本機能Thymeleaf:テンプレートエンジンとしてHTMLを動的に生成するのに必要
すべての項目を設定したら、画面下部の「GENERATE」ボタンを押して、Zip形式でプロジェクトファイルをダウンロードします。
5. PleiadesにSpring Initializrで作成したプロジェクトを取り込む方法
次に、Spring Initializrで生成したGradleプロジェクトをPleiadesに取り込みます。以下の手順で進めましょう。
- Pleiadesを起動します。
ファイル → インポートを選択します。- 表示されたウィザードから
Gradle → 既存のGradleプロジェクトを選択して「次へ」をクリックします。 - 「ルートディレクトリ」にダウンロードして解凍したプロジェクトフォルダを指定します。
- プロジェクトが認識されたら、そのまま「完了」をクリックして取り込みます。
プロジェクトがPleiadesにインポートされたら、Gradleによるビルドが自動で始まる場合があります。エラーが出た場合は、「プロジェクトを右クリック → Gradle → Gradleプロジェクトのリフレッシュ」を実行してみましょう。
これで、Spring Initializrで作成したプロジェクトをPleiades上で開発できるようになりました。
6. Gradleで依存関係を追加して構成を確認する手順
Pleiadesでプロジェクトを開いた後、必要な機能が追加されているか、Gradleの設定ファイルbuild.gradleを確認してみましょう。
例えば、Spring WebとThymeleafを選んだ場合は、次のような記述があるはずです。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
もし追加したい依存関係があれば、このdependenciesブロックに追記します。そして、プロジェクトを右クリックしてGradle → Gradleプロジェクトのリフレッシュを実行することで、依存関係が反映されます。
また、@Controllerを使った基本的な画面表示も、すぐに試すことができます。以下は簡単な例です。
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("/")
public String index() {
return "index";
}
}
このHelloControllerクラスを作成し、templatesフォルダ内にindex.htmlを置けば、ブラウザで簡単な画面を表示できます。
このように、Spring Initializrを使ってGradle構成のプロジェクトを作成すれば、設定の手間を省きつつ、Pleiadesでの開発をスムーズに始められます。
7. コントローラを追加してHello画面を表示する方法
ここからは、Spring Initializrで作成したプロジェクトに実際のコードを追加して、簡単な画面を表示する方法を解説します。初心者でも取り組みやすいように、@Controllerを使ったシンプルな実装にします。
まず、src/main/java/com/example/demoディレクトリに、新しくHelloController.javaというクラスファイルを作成します。以下のように記述してください。
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "hello";
}
}
@Controllerは、画面の遷移処理を担当するアノテーションで、@GetMapping("/hello")によって、URL/helloにアクセスされたときにhello.htmlというテンプレートを表示するようにしています。
次に、src/main/resources/templatesフォルダ内にhello.htmlというファイルを作成し、以下のようなHTMLを記述します。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1>こんにちは、Spring Boot!</h1>
<p>Spring Initializrで作成したプロジェクトで、最初の画面を表示できました。</p>
</body>
</html>
このように@ControllerとThymeleafテンプレートを使うことで、画面を簡単に作ることができます。これは初心者にとっても分かりやすく、Spring Bootの基本を学ぶ第一歩になります。
8. アプリケーションを起動して動作確認する方法
それでは、実際にアプリケーションを起動して、/helloページが表示されるか確認してみましょう。
Pleiadesでは、以下のような手順で簡単にSpring Bootアプリケーションを起動できます。
- プロジェクト内の
DemoApplication.javaを右クリック 実行 → Javaアプリケーションを選択
起動が成功すると、コンソールに以下のようなメッセージが表示されます。
Started DemoApplication in 3.456 seconds (JVM running for 4.123)
次に、ブラウザを開いて以下のURLにアクセスしてみましょう。
http://localhost:8080/hello
作成したhello.htmlが表示されれば成功です。
もし画面が表示されない場合やエラーが発生する場合は、パッケージ名の間違いやファイル配置場所が誤っていないか確認しましょう。
9. よくあるエラーとその対処方法
Spring Initializrで作成したプロジェクトでも、初心者がよく直面するエラーがいくつかあります。ここでは代表的なエラーとその対処法を紹介します。
① Whitelabel Error Pageが表示される
原因:@Controllerの戻り値に対応するテンプレートファイル(HTML)が存在しない、または配置場所が間違っている可能性があります。
対処法:テンプレートファイルがsrc/main/resources/templates内にあり、ファイル名が正しいかを確認します。
② Failed to resolve dependencyというエラーが出る
原因:build.gradleの依存関係に問題があるか、Gradleがうまく同期できていない場合があります。
対処法:プロジェクトを右クリック → Gradle → Gradleプロジェクトのリフレッシュを実行します。
③ アプリケーションが起動しない・エラーで停止する
原因:DemoApplication.javaやHelloController.javaのパッケージ名や記述に問題がある可能性があります。
対処法:ファイルのパッケージがcom.example.demoなどの指定通りであるかを確認し、記述ミスがないか見直します。
④ TemplateInputExceptionが出る
原因:ThymeleafテンプレートのHTMLファイルが存在しない、または拡張子が間違っている(例:hello.html.txtなど)場合に発生します。
対処法:ファイル名が正しく、拡張子が.htmlであることを確認します。また、文字コードがUTF-8で保存されているかも確認しましょう。
初心者のうちは、ちょっとしたスペルミスや配置ミスで思わぬエラーが出ることがあります。しかし、慌てずに一つ一つ確認すれば、必ず解決できます。Spring Initializrを使ったプロジェクト作成では、こうしたエラーの原因を理解することも大切な学びのひとつです。