プロジェクト作成前に
Spring Boot Extension Pack
「Spring Boot Extension Pack」はSpring Bootでの開発に役立つ機能やツールのセットです。

「Spring Boot Extension Pack」をインストールすると、以下のプラグインが一括でまとまってインストールされます。
- Spring Initializr Java Support
- Spring Boot Dashboard
- Spring Boot Tools
Spring Initializr Java Support
「Spring Initializr Java Support」はSpringプロジェクト作成のためのプラグインです。アプリケーションを開始するための初期セットアップができます。

Spring Boot Dashboard
「Spring Boot Dashboard」はSpringプロジェクトを簡単に管理し、実行、デバッグするプラグインです。


Spring Boot Tools
「Spring Boot Tools」はSpringプロジェクトのテンプレート作成、自動補完とコード生成、デバッグ、サーバー自動再起動など、さまざまな機能を支援するためのツールです。

「Spring Boot Extension Pack」インストール
VSCodeで「spring」で検索してインストールします。

ビルドツールとアーカイブ
ビルドとは
ビルドとはソースコードから実行可能なアプリケーションを生成するプロセスで、Javaではコンパイル、パッケージング、テスト、デプロイなどが含まれます。
Javaビルドツール
Javaのビルドツールは、Javaプロジェクトのコンパイル、テスト、パッケージングなどのビルドプロセスを自動化するためのツールです。開発者が複雑なビルド手順を手動で実行する必要なく、効率化なビルドができます。
大規模プロジェクトでは必須のツール
ビルドツールは大規模プロジェクトでは必須のツールです。グループで同時開発する場合、ビルド自動化や依存関係の管理を行うことで、品質向上や生産効率をあげます。
ビルド定義ファイル
ビルドツールは、ビルドプロセス定義するためのビルドファイルが必要です。ビルドの自動化や依存関係の管理、テストの実行、デプロイの処理などを行うことができます。
ビルドツールの種類
JavaのビルドツールにはApache Maven、Gradle、Antなどがあります。MavenはJavaアプリケーションの一般的なビルドツールで、初心者にとっては扱いやすい傾向にあります。Gradleはカスタマイズ性が高く、高度なビルド機能を必要とする場合に適しています。
Maven | Gradle | |
---|---|---|
ファイルフォーマット | XML | Groovy、Kotlin |
ビルド速度 | △ | ○ |
柔軟性 | 自由度が高く、カスタマイズ性が高い | Mavenは、設定の柔軟性が低い |
プラグインの多さ | ○ | △ |
学習コスト | ○ | △ |
Spring Bootのビルドツールは、MavenとGradleがよく利用されます。
dependencies(依存関係)
dependenciesとは
dependencies(依存関係)は、プロジェクトが外部コンポーネントやライブラリを利用したいときに、そのコンポーネントやライブラリの設定項目です。
Maven
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>
Gradle
dependencies {
implementation 'mysql:mysql-connector-java:8.0.30'
}
自動ビルド
MavenやGradleを使用する場合、ビルド設定ファイルのdependenciesセクションに依存するライブラリの情報を記述します。そして、ビルドツールで必要なライブラリを自動ダウンロードし、プロジェクトのビルドや実行をします。
アーカイブ形式
JARとWARとは
JAR(Java ARchive)とWAR(Web ARchive)は、Javaで使用されるアーカイブ形式です。
JAR
JARは、Javaプラットフォームに依存するJavaアプリをアーカイブするために使用されます。JARファイルは、Javaのクラスファイル、リソースファイル、メタデータファイルMANIFEST.MFなどを含み、Javaの実行可能ファイルの配布に使用されます。
WAR
WARは、Java EE Webアプリケーションをアーカイブするために使用します。WARファイルには、JSP、HTML、CSS、JavaクラスなどのWebアプリケーションに必要なすべてのファイルを含みます。Webアプリケーションの構成を記述するためのweb.xmlに、セキュリティ、コンテキストパス、サーブレットのマッピング、データソースなどの設定を指定できます。
どちらを選択するか?
Spring Bootでは、一般的に依存ライブラリなど、必要なすべてのファイルを含むJARファイルを使用することが推奨されます。Springアプリケーションは、Java EE Webアプリケーションではなく、単純なJavaアプリケーションであるのが理由です。
プロジェクト作成
VSCodeでプロジェクト作成
VSCodeで新しいウィンドウを開き、エクスプローラーから【Create Java Project】をクリックします。
Spring Boot選択
メニューから「Spring Boot」を選択します。
ビルドツール選択
ビルドツールで「Maven」を選択します。
Springバージョン
Spring Bootのバージョンを選択します。今回は「3.0.x」系を選択します。
プログラミング言語選択
プログラム言語は「Java」を選択します。
グループID
グループIDはアプリケーションの個別IDで、Webのドメインやプロジェクト名組み合わせます。ここでは「com.example」とします。

プロジェクト名
プロジェクト名を入力します。ここでは「demo」とします。
パッケージング選択
プロジェクトのパッケージ方式を選択します。ここでは「jar」とします。
Javaバージョン選択
Javaのバージョンを選択します。ここでは「17」とします。
ライブラリ選択
Spring Bootで利用するライブラリを選択します。
ライブラリ | 説明 |
---|---|
Lombok | Javaでクラスを作成する際に煩雑なコードを簡潔にする |
Spring Dev Tools | Spring Bootに基本機能で、自動的にプログラム変更を検出し、再起動なしでアプリケーションを更新、自動ビルドで再読み込み |
Spring Web | Spring Bootに基本機能で、Spring MVCをベースとしたWebアプリケーションフレームワーク |
Thymeleaf | Spring Bootの主流のテンプレートエンジンの一つで、HTMLファイルにJavaのコードを埋め込むことが可能 |
ライブラリ検索
プラグインが見つからない場合は、コマンドパレットのダイアログに文字を入力してプラグインを検索するとよいでしょう。
プロジェクトを開く
インターネットからライブラリをダウンロド&インストールし、ビルドが始まります。インストールが完了したらダイアログの【Open】でプロジェクトが開きます。

プロジェクトが作成されました。
アプリケーションの起動
プロジェクトファイル
プロジェクトの中身は以下のとおりです。
プログラムソース
プログラムソースは srcフォルダで管理します。Javaのプログラムソースはデフォルトで src/main/java/ 以降に配置します。

- com.example.demoは、プロジェクト作成時に設定したグループIDとアプリ名です。
メインプログラム
Spring Bootのメインプログラムは「DemoApplication.java」となっています。
- 「Demo」の部分はプロジェクト作成で指定した名称です。
DemoApplication.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);
}
}
- プロジェクト作成時に設定したプロジェクト名がdemoに関連してDemoApplicationとなっています。
Mavenの確認
pom.xmlはアプリのMavenでビルドする設定ファイルです。プロジェクト作成時に、pom.xmlにライブラリの依存関係が自動生成されますが、手動で設定することも可能です。
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Springサーバ起動
Javaファイルから起動
メインファイル「DemoApplication.java」から、【Start】ボタンでアプリを起動します。
Spring Boot Dashboardで起動
VSCodeの「Spring Boot Dashboard」プラグインをインストールしている場合、「Spring Boot Dashboard」からサーバ起動できます。
ターミナル確認
サーバが起動し、ターミナルにログが表示されます。ポート8080でサーバ待機中になれば成功です。
ブラウザで確認
http://localhost:8080/ にアクセスします。「Whitelabel Error Page」が表示されれば成功です。

- URLにコンテンツがないときはこのエラーが表示されます。
Springサーバ停止
Springサーバを停止するには、VSCodeで表示されたパネルから【Stop】ボタンをクリックします。
サーバが停止しているので、http://localhost:8080/ にアクセスできません。
演習
問題1
MavenやGradleについて正しいのはどれですか?
- Javaの統合開発環境(IDE)
- Javaのビルドツール
- Javaのプログラミング言語のバージョン管理ツール
- Javaのデータベース接続ライブラリ
問題2
pom.xmlの説明で正しいのはどれですか?
- Javaプログラムの実行時の設定を定義するXMLファイルである。
- WebアプリケーションのフロントエンドのHTMLとCSSを格納するディレクトリである。
- Mavenプロジェクトの設定や依存関係を管理するためのファイルである。
- Spring Bootアプリケーションのコントローラクラスを記述するためのファイルである。
問題3
dependenciesの説明で正しいのはどれですか?
- 数学的演算を行うためのライブラリ
- データベースからデータ取得するためのSQLクエリ
- プロジェクトが利用する外部コンポーネントやライブラリの指定
- グラフィックデザインをするためのツール