はじめに
Spring BootはJavaのWebアプリケーション開発を効率化するフレームワークで、Spring Frameworkを基盤にして構築されています。通常のSpringアプリケーションの複雑な設定を簡略化し、少ないコードでWebアプリを立ち上げられるのが特徴です。この記事では、Spring Bootの環境構築を行い、プロジェクト作成の概要を学びます。
Spring Bootの概要
Spring Bootとは?
Spring BootはSpring Frameworkを使いやすくするためのプロジェクトです。通常、Springでは設定ファイルが多くなる傾向がありますが、Spring Bootはその設定を自動化し、迅速な開発をサポートします。特に、以下のようなポイントが挙げられます:
- 自動設定:複雑な設定を自動で行い、開発者の負担を軽減
- 埋め込みサーバー:TomcatやJettyなどのサーバーを組み込み、スタンドアロンで実行可能
- 開発効率の向上:最小限のコードでWebアプリケーションを構築可能
開発環境のセットアップ
必要なツール
- Java JDK:バージョン17以上を推奨
- MavenまたはGradle:ビルドツール
Java JDKのインストール
下記ページからPCに合わせてインストーラーをダウンロードしてインストーラーを起動します。
起動後は手順通りにインストールしていきます。

Gradleの使用
今回はGradleを用いて開発します。
Macの場合は下記コマンドでinstallできます。
brew install gradle
Spring Initializrの使用
Spring Initializrは、WebベースでSpring Bootプロジェクトの雛形を作成できる便利なサービスです。以下の手順でSpring Bootプロジェクトを生成します:
- Spring Initializrにアクセス
- 必要なプロジェクトの設定を入力(例:プロジェクト名、Java、Mavenプロジェクト)
- 「Generate」ボタンを押してプロジェクトをダウンロード
ダウンロードしたプロジェクトを解凍し開きます。
簡単なWebアプリの作成
コントローラーの作成
コントローラーは、リクエストを受け取り、処理を行うクラスです。Spring Bootではアノテーションを用いてコントローラーを簡単に定義できます。以下に、HelloControllerというシンプルなコントローラーを作成してみましょう。
src/main/java/com/example/demo/controller/HelloController.java
に追加します。
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Spring Boot!";
}
}
- @RestController:このクラスがREST APIのコントローラーであることを示す
- @GetMapping(“/hello”):
/hello
エンドポイントにGETリクエストがあった場合にメソッドを実行
build.gradleの変更
- dependenciesにWeb依存関係を追加する
- toolchainのJavaLanguageVersionを端末に合わせた数字に変更する。
plugins {
id 'java'
id 'org.springframework.boot' version '3.3.5'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(23)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web' // Web依存関係を追加
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
変更が完了したら下記コマンドを実行します。
./gradlew clean build --refresh-dependencies
アプリケーションの実行方法
Spring Bootプロジェクトには組み込みサーバーがあるため、以下のコマンド一つでアプリケーションを起動できます。
./gradlew bootRun # Gradleの場合
./mvnw spring-boot:run # Mavenの場合
コマンドを実行すると、ブラウザでhttp://localhost:8080/hello
にアクセスした際に「Hello, Spring Boot!」と表示されます。
Spring Bootの基本構成
Spring Bootプロジェクトにはいくつかの重要なファイルとディレクトリが含まれています:
- src/main/java:アプリケーションのJavaコードを格納する
- src/main/resources/application.properties:設定ファイル
- src/test/java:テストコードを格納するディレクトリ
application.properties
には、アプリケーションの設定(ポート番号、データベース接続情報など)を記述できます。
データベース接続の追加(オプション)
Spring Bootはデータベースとの連携も簡単です。たとえば、H2データベースを使ってデータベース接続を設定する場合、application.properties
に以下を追加します。
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.h2.console.enabled=true
データベース接続が完了したら、/h2-console
でH2データベースのコンソールにアクセスできます。
Spring Bootの拡張:依存関係の追加
Spring Bootプロジェクトでは必要な依存関係(ライブラリ)をpom.xml
(Maven)またはbuild.gradle
(Gradle)に追加することで、さらに機能を拡張できます。たとえば、JPA(Java Persistence API)を使用してデータの永続化を行いたい場合、Spring Data JPA
依存を追加し、データベースと連携したアプリケーションを作成できます。
Spring Bootアプリケーションのビルドとデプロイ
アプリケーションが完成したら、ビルドしてデプロイすることも可能です。以下のコマンドを使ってJARファイルをビルドします。
./gradlew build # Gradleの場合
./mvnw clean package # Mavenの場合
ビルドしたJARファイルはtarget/
(Maven)やbuild/libs/
(Gradle)に生成され、以下のコマンドで実行できます。
java -jar target/demo-0.0.1-SNAPSHOT.jar
まとめ:Spring Bootでの学習ステップ
Spring BootはシンプルなWebアプリケーションから、複雑な業務システムまで幅広く利用されています。初めて学ぶ際には、基本的なコントローラーや設定ファイルの使い方を理解し、次第にデータベース連携やセキュリティ設定などへと学びを深めていきましょう。
Spring Bootの柔軟性と生産性の高さを活用し、実際にアプリケーションを作りながら学んでいくと、理解が深まります。
コメント