Spring BootをGradleでセットアップする方法
新人
「Spring BootをGradleでセットアップしたいのですが、どうすればいいですか?」
先輩
「Spring BootをGradleでセットアップすると、依存関係の管理が簡単になりますよ。まずはSpring Bootの基本から説明しますね。」
新人
「GradleってMavenと何が違うんですか?」
先輩
「GradleはMavenと同じようにビルドツールですが、よりシンプルで高速です。それでは詳しく見ていきましょう!」
1. Spring Bootとは?
Spring Bootは、JavaのWebアプリケーションを簡単に開発できるフレームワークです。Spring Frameworkの拡張版であり、煩雑な設定を省略し、少ないコードでアプリケーションを作成できます。
Spring Bootの主な特徴:
- 最小限の設定でWebアプリケーションを開発可能
- 組み込みTomcatにより、すぐにアプリを実行できる
- GradleやMavenを使用した依存関係管理
2. Gradleとは?(Mavenとの違い)
Gradleは、JavaやKotlinのビルドツールであり、Mavenと並んで広く使われています。
Mavenとの違い:
- GradleはGroovyまたはKotlin DSLを使用し、MavenのXMLよりもシンプルな構文
- Gradleはタスクベースで柔軟にカスタマイズ可能
- Gradleは並列処理を活用し、Mavenより高速
3. Spring BootをGradleでセットアップするメリット
Spring BootプロジェクトをGradleで管理することで、次のようなメリットがあります。
- 設定がシンプルで、記述が簡潔
- 依存関係を簡単に管理できる
- ビルドが速く、開発スピードが向上する
次のステップでは、実際にEclipse(Pleiades)でSpring Boot + Gradleプロジェクトを作成してみましょう。
4. Eclipse(Pleiades)でSpring Boot + Gradleプロジェクトを作成する手順
ここでは、Eclipse(Pleiades)を使用してSpring Boot + Gradleプロジェクトを作成する手順を説明します。
4.1 新しいSpring Bootプロジェクトの作成
Eclipseを起動し、以下の手順でSpring Bootプロジェクトを作成します。
- 「ファイル」メニューから「新規」→「プロジェクト」を選択
- 「Spring Boot」カテゴリの「Spring Bootプロジェクト」を選択し「次へ」をクリック
- プロジェクト名を入力し、「ビルドツール」で「Gradle」を選択
- 「Javaバージョン」を適切なバージョン(例: 17)に設定
- 「次へ」をクリックし、Spring Bootのバージョンを選択(最新の安定版を推奨)
- 「完了」をクリックすると、プロジェクトが作成されます
4.2 プロジェクトのディレクトリ構成
プロジェクトが作成されると、以下のようなディレクトリ構成になります。
project-root/
├── src/
│ ├── main/
│ │ ├── java/com/example/demo/
│ │ │ ├── DemoApplication.java
│ │ ├── resources/
│ │ ├── application.properties
├── build.gradle
├── settings.gradle
DemoApplication.java がアプリケーションのエントリーポイントとなります。
5. Gradleの設定ファイル(build.gradle)の基本構成
Spring Bootプロジェクトでは、build.gradle を使ってビルドの設定や依存関係の管理を行います。
5.1 build.gradleの基本設定
以下は、Spring Bootプロジェクトの基本的なbuild.gradleの設定例です。
plugins {
id 'org.springframework.boot' version '3.1.0'
id 'io.spring.dependency-management' version '1.1.0'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
この設定により、Spring Bootの基本的な機能が使用可能になります。
5.2 Gradleの設定を適用する
変更を適用するために、EclipseでGradleの同期を行います。
- 「Gradle」ビューを開く
- 「Gradleプロジェクトを更新」ボタンをクリック
- または、ターミナルで
./gradlew buildを実行
6. 必要な依存関係の追加とプロジェクトの同期
Spring Bootプロジェクトで追加の機能を利用する場合、build.gradle に依存関係を追加します。
6.1 依存関係の追加
例えば、Spring BootのThymeleafテンプレートエンジンを使用する場合、以下のように追加します。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
6.2 依存関係の更新
新しい依存関係を追加した後、プロジェクトに反映させるには以下の方法で更新を行います。
7. Spring Bootアプリの起動方法と簡単な動作確認
Gradleの設定と依存関係の追加が完了したら、Spring Bootアプリケーションを起動してみましょう。
7.1 Spring Bootアプリの起動
Spring Bootアプリは、以下の方法で起動できます。
- 「DemoApplication.java」を開き、
mainメソッドを右クリックして「Javaアプリケーションとして実行」を選択 - または、ターミナルで以下のコマンドを実行
./gradlew bootRun
正常に起動すると、コンソールに以下のようなログが表示されます。
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.1.0)
このログが表示されていれば、Spring Bootアプリが正常に起動しています。
7.2 簡単な動作確認
ブラウザを開き、http://localhost:8080 にアクセスしてください。
初期状態ではエラーページが表示されますが、次のステップで簡単なコントローラーを作成し、ページを表示させる方法を学びます。
8. 簡単なSpring MVCのコントローラーを作成して実行する
Spring Bootでは、@Controller を使用してWebページを表示することができます。ここでは、簡単なコントローラーを作成し、画面にメッセージを表示する方法を紹介します。
8.1 コントローラーの作成
まず、以下の手順で新しいコントローラーを作成します。
src/main/java/com/example/demo/controllerフォルダを作成- その中に
HomeController.javaを作成 - 以下のコードを記述
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
@Controller
public class HomeController {
@GetMapping("/")
public String home(Model model) {
model.addAttribute("message", "Spring Bootへようこそ!");
return "home";
}
}
8.2 ビュー(HTMLファイル)の作成
Spring Bootでは、Thymeleafを使ってHTMLを表示します。以下の手順でビューを作成してください。
src/main/resources/templates/フォルダを作成- その中に
home.htmlを作成 - 以下のコードを記述
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>ホームページ</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
8.3 実行と確認
Spring Bootアプリを再起動し、ブラウザで http://localhost:8080 にアクセスしてください。
画面に「Spring Bootへようこそ!」と表示されていれば成功です。
9. Eclipseでのデバッグ方法とエラー解決の基本
開発を進める中で、プログラムの動作を確認しながら開発を進めるために、Eclipseのデバッグ機能を活用しましょう。
9.1 ブレークポイントを設定する
ブレークポイントを設定すると、プログラムの実行を一時停止し、変数の値を確認できます。以下の手順で設定しましょう。
HomeController.javaを開くreturn "home";の行の左側をクリックし、ブレークポイントを設定- 「デバッグ」モードでアプリを実行
9.2 デバッグの実行
デバッグモードでSpring Bootを起動する方法:
- プロジェクトを右クリック →「デバッグ」→「Spring Bootアプリとして実行」
- ブラウザで
http://localhost:8080にアクセス - ブレークポイントの行で処理が一時停止する
変数の値を確認しながら、処理の流れを理解することができます。
9.3 よくあるエラーと対処方法
開発中によく発生するエラーとその対処法を紹介します。
エラー1: ApplicationContextException
Spring Bootの設定が間違っている可能性があります。エラーログを確認し、application.properties の設定を見直してください。
エラー2: Address already in use
ポート8080がすでに使用されている場合に発生します。以下のコマンドでプロセスを停止してください。
kill -9 $(lsof -t -i:8080)
エラー3: ClassNotFoundException
依存関係が正しく適用されていない可能性があります。以下のコマンドでGradleの同期を行ってください。
./gradlew build
デバッグ機能を活用しながら、Spring Bootアプリケーションを効率よく開発していきましょう!
まとめ
Spring BootをGradleでセットアップして動作させるまでの流れを振り返ると、開発環境の準備からビルド設定、依存関係の管理、さらにコントローラーの作成とビューの表示まで、ひとつのアプリケーションがどのように動き出すのかを自然なかたちで理解できたはずです。とくにGradleは柔軟で扱いやすい構文を備えているため、Spring Bootとの相性も良く、依存関係の追加やタスク管理が直感的に扱えるのが大きな魅力です。今回の記事では、実際の開発現場でよく用いられるプロジェクト構成や設定ファイルの中身を具体的に確認しながら進めたため、Spring Bootアプリがどのように構築され、どのように起動するのかがより明確になったのではないでしょうか。
また、Gradleの build.gradle による依存関係管理は、Spring Bootの機能拡張に欠かせない重要な要素です。Webアプリケーションとして動作させるための spring-boot-starter-web、テンプレートエンジンとして利用する spring-boot-starter-thymeleaf などを追加することで、必要な機能がすぐに利用できるようになり、開発効率が大きく向上します。このような依存関係の追加操作は今後の学習でも繰り返し行うことになるため、今回の理解はとても大きな意味を持ちます。
さらに、プロジェクト作成後のディレクトリ構成や、エントリーポイントとなる DemoApplication.java の仕組みも、Spring Bootがアプリケーション全体をどのように構成しているかを理解するうえで欠かせません。自動設定という強力な仕組みのおかげで、余計な設定を行わずともすぐにアプリを起動できるため、学習段階でもストレスなく扱えるのがSpring Bootの特徴です。画面表示を行うためのシンプルなコントローラーの例では、@Controller と @GetMapping を使った基本構文を確認しましたが、これがWebアプリケーション構築の第一歩となります。
実際に動作確認を行いながら、コンソールに流れるログや起動後のブラウザの表示を見ていくと、「ビルド → 起動 → ルーティング → 表示」という一連の流れが具体的に見えてきます。開発に慣れるにつれて、ログの読み取りやエラー解決も自然と身につき、Spring Bootの挙動がより深く理解できるようになります。とくに、Gradleでのビルドエラーや依存関係の競合は初心者がつまずきやすい部分ですが、今回の記事で紹介した基本的な対処方法を覚えておけば、原因の切り分けがしやすくなるでしょう。
最後に、今回の内容を踏まえた簡単なサンプルコードを紹介します。GradleでセットアップしたSpring Bootプロジェクトで、次のような基本的なコントローラーを作成するとスムーズに画面表示ができるようになります。
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.ui.Model;
@Controller
public class SampleController {
@GetMapping("/sample")
public String sample(Model model) {
model.addAttribute("text", "GradleでセットアップしたSpring Bootアプリが動作しています!");
return "sample";
}
}
こうしたコードを書いて実行してみることで、Spring Bootの基本操作がより身体に馴染み、Gradleを使った構成管理にも自然と理解が深まっていきます。今回の知識は、今後コントローラーを増やし、データベースと連携し、複雑な画面遷移を扱う際にも必ず役立ちます。開発環境のセットアップから実際の動作確認、そしてエラー解決までの一連の流れを身につけたことで、自分自身が本格的なWebアプリケーション開発の第一歩を踏み出せた実感を得られたのではないでしょうか。
今後の学習では、REST APIの作成、Thymeleafでの画面構築、Spring Securityによる認証処理、JPAによるデータベース連携など、さらに高度な技術へと進むことができます。まずは今回理解した「GradleでSpring Bootをセットアップする」という基礎をしっかり積み重ね、継続的に学習を進めていくことで、より実践的なスキルが身についていくはずです。
生徒「GradleでSpring Bootをセットアップする流れがようやく理解できました!最初は難しそうと思っていましたが、仕組みを知るとすごく整理されているんですね。」
先生「そうだね。Gradleは柔軟で扱いやすいから、Spring Bootと組み合わせるとプロジェクト管理がぐっと楽になるんだ。」
生徒「ディレクトリ構成もわかりやすかったですし、依存関係を追加するだけで機能が増えるのも驚きでした!」
先生「依存関係管理が理解できると、Web、テンプレートエンジン、データベースなどあらゆる機能が扱えるようになるよ。」
生徒「次はデータベース連携やREST APIにも挑戦してみたいです!」
先生「いいね。その前に今回学んだGradleの基礎をしっかり固めておけば、どんな機能追加にも対応できるようになるよ。」
生徒「はい!実際に手を動かしながら理解を深めてみます。」