このサイトには Spring に関する数千ページ以上の膨大なドキュメントがありますが、Spring Boot やその他の Spring プロジェクトを使い始めようとしている場合は、まず、この入門セクションを読むことから始めましょう。他のバージョンはバージョン別ドキュメント一覧を参照してください。このセクションでは、Spring Boot の導入とインストール手順について説明します。次に、最初の Spring Boot アプリケーションを構築する手順を説明し、その過程でいくつかの基本原則を説明します。
1. Spring Boot の導入
Spring Boot とは、設定がほとんど不要で Spring と外部ライブラリを利用でき、規約に従うことにより Spring ベースのアプリケーションを簡単に作成できる事実上標準の Java フレームワークです。
Spring Boot を使用して、Tomcat 組み込みの java -jar
で起動可能な jar ファイル、または従来の Tomcat に デプロイ 可能な war ファイルを作成することができます。
主なゴールは次のとおりです。
すべての Spring 開発に、非常に高速で広くアクセス可能な入門体験を提供します。
すぐに使用でき、要件がデフォルトと異なる場合でもすぐに対応できます。
大規模なクラスのプロジェクトに共通のさまざまな非機能機能(組み込みサーバー、セキュリティ、メトリクス、ヘルスチェック、外部化された設定など)を提供します。
コード生成 (ネイティブイメージを対象としていない場合) はまったくなく、XML 構成も必要ありません。
2. システム要件
Spring Boot 3.2.2 ( バージョン別サポート期間 ) には Java 17 が必要で、Java 21 まで互換性があります。また依存関係管理メカニズムにより Spring Framework 6.1.3 ( バージョン別サポート期間 ) 以上が自動的に使用されます。
次のビルドツールのサポートがあり、デフォルトでは gradle が使用されます。
ビルドツール | バージョン |
---|---|
3.6.3 以上 | |
7.x (7.5 以降) および 8.x |
2.1. サーブレットコンテナー
Spring Boot は、次の埋め込みサーブレットコンテナーをサポートがあり、デフォルトでは Tomcat が使用されます。
名前 | サーブレットバージョン |
---|---|
Tomcat 10.1 | 6.0 |
Jetty 12.0 | 6.0 |
Undertow 2.3 | 6.0 |
Spring Boot アプリケーションを任意のサーブレット 5.0 + 互換コンテナーにデプロイすることもできます。
2.2. GraalVM ネイティブイメージ
Spring Boot アプリケーションは、GraalVM 22.3 以降を使用してネイティブイメージに変換できます。
イメージは、ネイティブビルドツール [GitHub] (英語) Gradle/Maven プラグインまたは GraalVM が提供する native-image
ツールを使用して作成できます。ネイティブイメージ Paketo buildpack [GitHub] (英語) を使用してネイティブイメージを作成することもできます。
次のバージョンがサポートされています。
名前 | バージョン |
---|---|
GraalVM コミュニティ | 22.3 |
ネイティブビルドツール | 0.9.28 |
3. Spring Boot のインストール
Eclipse STS、IntelliJ IDEA、VSCode Auto Config を使用する場合、以降に示すインストール手順は不要です。Spring Initializr クイックスタートや簡単な Web 画面の作成を試してみてください。コマンドラインを使用する場合は、次のコマンドを使用して現在インストールされている Java を確認する必要があります。
$ java -version
コマンドラインで開発する場合は、以降の手順に従ってください。
3.1. Java 開発者向けのインストール手順
Spring Boot は特別なツールの統合を必要としないため、クラスパスに適切な spring-boot-*.jar
ファイルを含めることで、標準 Java ライブラリと同じ方法で使用できます。また、Spring Boot アプリケーションには特別なものはないため、他の Java プログラムと同様に Spring Boot アプリケーションを実行およびデバッグできます。
Spring Boot の jar を手動でダウンロードしてプロジェクト内に配置することもできますが、依存性管理が困難になるため、通常はサポートするビルドツール(Gradle や Maven など)を使用することをお勧めします。Eclipse STS や IntelliJ IDEA のような IDE の場合は Gradle や Maven が含まれているため、IDE 付属のデフォルトのバージョンを使用する場合は、後述の Gradle や Maven のインストール不要です。また、異なるバージョンが必要な場合でも、Spring Initializr で作成した Spring Boot プロジェクトには gradlew や mvnw が含まれているため、Gradle や Maven のインストールは必要ありません。
3.1.1. Maven のインストール
Spring Boot は Apache Maven 3.6.3 以降と互換性があります。Maven をまだインストールしていない場合は、maven.apache.org (英語) の手順に従ってください。
多くのオペレーティングシステムでは、Maven はパッケージマネージャーを使用してインストールできます。OSX Homebrew を使用する場合は、brew install maven を試してください。Ubuntu ユーザーは sudo apt-get install maven を実行できます。Chocolatey (英語) を使用する Windows ユーザーは、昇格した(管理者)プロンプトから choco install maven を実行できます。 |
Spring Boot 依存関係は org.springframework.boot
グループ ID を使用します。通常、Maven POM ファイルは spring-boot-starter-parent
プロジェクトから継承し、1 つ以上の “スターター” への依存関係を宣言します。Spring Boot は、実行可能な jar を作成するためのオプションの Maven プラグインも提供します。
Spring Boot と Maven の使用開始の詳細については、Maven プラグインのリファレンスガイドの入門セクションを参照してください。
3.1.2. Gradle のインストール
Spring Boot は Gradle 7.x(7.5 以降)、8.x と互換性があります。Gradle をまだインストールしていない場合は、gradle.org (英語) の指示に従ってください。
Spring Boot の依存関係は、org.springframework.boot
group
を使用して宣言できます。通常、プロジェクトは 1 つ以上の “スターター” への依存関係を宣言します。Spring Boot は、依存関係の宣言を簡素化し、実行可能な jar を作成するために使用できる便利な Gradle プラグインを提供します。
Spring Boot と Gradle の使用開始の詳細については、Gradle プラグインのリファレンスガイドの入門セクションを参照してください。
3.2. Spring Boot CLI のインストール
Spring Boot CLI (コマンドラインインターフェース) は、Spring ですばやくプロトタイプを作成するために使用できるコマンドラインツールです。
Spring Boot を操作するために CLI を使用する必要はありませんが、Eclipse STS や IntelliJ IDEA のような IDE を使用せずに Spring アプリケーションをすぐに使用できるようにする方法です。
3.2.1. 手動インストール
Spring CLI ディストリビューションは、次のいずれかの場所からダウンロードできます。
ダウンロードしたら、解凍したアーカイブの INSTALL.txt (英語) の指示に従ってください。要約すると、.zip
ファイルの bin/
ディレクトリには、spring
スクリプト(Windows の場合は spring.bat
)があります。または、.jar
ファイルで java -jar
を使用できます(スクリプトは、クラスパスが正しく設定されていることを確認できます)。
3.2.2. SDKMAN! を使用したインストール
SDKMAN!(Software Development Kit Manager)は、Groovy や Spring Boot CLI など、さまざまなバイナリ SDK の複数のバージョンを管理するために使用できます。sdkman.io (英語) から SDKMAN! を取得し、次のコマンドを使用して Spring Boot をインストールします。
$ sdk install springboot
$ spring --version
Spring CLI v3.2.2
CLI の機能を開発し、ビルドしたバージョンにアクセスする場合は、次のコマンドを使用します。
$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-3.2.2-bin/spring-3.2.2/
$ sdk default springboot dev
$ spring --version
Spring CLI v3.2.2
上記の手順では、dev
インスタンスと呼ばれる spring
のローカルインスタンスをインストールします。ターゲットビルドの場所を指すため、Spring Boot を再構築するたびに、spring
は最新の状態になります。
次のコマンドを実行して確認できます。
$ sdk ls springboot
================================================================================
Available Springboot Versions
================================================================================
> + dev
* 3.2.2
================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
3.2.3. OSX Homebrew のインストール
Mac で Homebrew (英語) を使用している場合、次のコマンドを使用して Spring Boot CLI をインストールできます。
$ brew tap spring-io/tap
$ brew install spring-boot
Homebrew は /usr/local/bin
に spring
をインストールします。
formula が表示されない場合、brew のインストールが古くなっている可能性があります。その場合は、brew update を実行して再試行してください。 |
3.2.4. MacPorts のインストール
Mac で MacPorts (英語) を使用している場合、次のコマンドを使用して Spring Boot CLI をインストールできます。
$ sudo port install spring-boot-cli
3.2.5. コマンドライン補完
Spring Boot CLI には、BASH [Wikipedia] および zsh [Wikipedia] シェルのコマンド補完を提供するスクリプトが含まれています。任意のシェルでスクリプト(spring
とも呼ばれる)を source
するか、個人またはシステム全体の bash 完了初期化に配置できます。Debian システムでは、システム全体のスクリプトは <installation location>/shell-completion/bash
にあり、そのディレクトリ内のすべてのスクリプトは、新しいシェルの起動時に実行されます。例: SDKMAN! を使用してインストールした場合にスクリプトを手動で実行するには、次のコマンドを使用します。
$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring
$ spring <HIT TAB HERE>
grab help jar run test version
Homebrew または MacPorts を使用して Spring Boot CLI をインストールすると、コマンドライン補完スクリプトがシェルに自動的に登録されます。 |
3.2.6. Windows Scoop のインストール
Windows で Scoop (英語) を使用している場合、次のコマンドを使用して Spring Boot CLI をインストールできます。
> scoop bucket add extras > scoop install springboot
Scoop は ~/scoop/apps/springboot/current/bin
に spring
をインストールします。
アプリのマニフェストが表示されない場合は、scoop のインストールが古くなっている可能性があります。その場合は、scoop update を実行して再試行してください。 |
4. 初めての Spring Boot アプリケーションの開発
このセクションでは、小さな "Hello World!" を開発する方法について説明します。Spring Boot の主要な機能の一部を紹介する Web アプリケーション。ビルドシステムとして Maven または Gradle を選択できます。
Eclipse STS や IntelliJ IDEA のプロジェクト作成ウィザード (Spring Initializr) の依存関係から "Spring Web" スターターを選択することにより、以下のステップをショートカットできます。これにより、新しいプロジェクト構造が 生成されるため、すぐにコーディングを開始できます。詳細については、Spring Initializr を確認してください。 |
4.1. 前提条件
始める前に、ターミナルを開いて次のコマンドを実行して、有効なバージョンの Java がインストールされていることを確認します。
$ java -version
openjdk version "17.0.4.1" 2022-08-12 LTS
OpenJDK Runtime Environment (build 17.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM (build 17.0.4.1+1-LTS, mixed mode, sharing)
このサンプルは、独自のディレクトリに作成する必要があります。以降の手順では、適切なディレクトリを作成し、それが現在のディレクトリであると想定しています。 |
4.1.1. Maven
Maven を使用する場合は、Maven がインストールされていることを確認してください。
$ mvn -v
Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
Maven home: usr/Users/developer/tools/maven/3.8.5
Java version: 17.0.4.1, vendor: BellSoft, runtime: /Users/developer/sdkman/candidates/java/17.0.4.1-librca
4.1.2. Gradle
Gradle を使用する場合は、Gradle がインストールされていることを確認してください。
$ gradle --version
------------------------------------------------------------
Gradle 8.1.1
------------------------------------------------------------
Build time: 2023-04-21 12:31:26 UTC
Revision: 1cf537a851c635c364a4214885f8b9798051175b
Kotlin: 1.8.10
Groovy: 3.0.15
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 17.0.7 (BellSoft 17.0.7+7-LTS)
OS: Linux 6.2.12-200.fc37.aarch64 aarch64
4.2. Maven を使用したプロジェクトのセットアップ
まず、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>
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
</parent>
<!-- Additional lines to be added here... -->
</project>
上記のリストは、機能するビルドを提供します。mvn package
を実行してテストできます(現時点では、「jar は空になります。含めるコンテンツは含まれていません!」という警告は無視できます)。
この時点で、プロジェクトを IDE にインポートできます(ほとんどの最新の Java IDE には Maven の組み込みサポートが含まれています)。簡単にするために、この例では引き続きプレーンテキストエディターを使用します。 |
4.3. Gradle を使用したプロジェクトのセットアップ
Gradle build.gradle
ファイルを作成することから始める必要があります。build.gradle
は、プロジェクトのビルドに使用されるビルドスクリプトです。お気に入りのテキストエディターを開いて、以下を追加します。
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.2'
}
apply plugin: 'io.spring.dependency-management'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
}
前述のリストにより、動作するビルドが得られるはずです。gradle classes
を実行してテストできます。
この時点で、プロジェクトを IDE にインポートできます(ほとんどの最新の Java IDE には Gradle の組み込みサポートが含まれています)。簡単にするために、この例では引き続きプレーンテキストエディターを使用します。 |
4.4. クラスパスの依存関係を追加する
Spring Boot には、クラスパスに jar を追加できる「スターター」が多数用意されています。「スターター」は、特定の種類のアプリケーションを開発するときに必要になる可能性のある依存関係を提供します。
4.4.1. Maven
ほとんどの Spring Boot アプリケーションは、POM の parent
セクションで spring-boot-starter-parent
を使用します。spring-boot-starter-parent
は、便利な Maven デフォルトを提供する特別なスターターです。また、「祝福された」依存関係の version
タグを省略できるように、dependency-management
セクションも提供されます。
Web アプリケーションを開発しているため、spring-boot-starter-web
依存関係を追加します。その前に、次のコマンドを実行して、現在の内容を確認できます。
$ mvn dependency:tree
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT
mvn dependency:tree
コマンドは、プロジェクトの依存関係のツリー表現を出力します。spring-boot-starter-parent
自体には依存関係がないことがわかります。必要な依存関係を追加するには、pom.xml
を編集し、parent
セクションのすぐ下に spring-boot-starter-web
依存関係を追加します。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
mvn dependency:tree
を再度実行すると、Tomcat Web サーバーや Spring Boot 自体を含む、多くの追加の依存関係があることがわかります。
4.4.2. Gradle
ほとんどの Spring Boot アプリケーションは org.springframework.boot
Gradle プラグインを使用します。このプラグインは、便利なデフォルトと Gradle タスクを提供します。io.spring.dependency-management
Gradle プラグインは依存関係管理を提供するため、「祝福された」依存関係の version
タグを省略できます。
Web アプリケーションを開発しているため、spring-boot-starter-web
依存関係を追加します。その前に、次のコマンドを実行して、現在の内容を確認できます。
$ gradle dependencies
> Task :dependencies
------------------------------------------------------------
Root project 'myproject'
------------------------------------------------------------
gradle dependencies
コマンドは、プロジェクトの依存関係のツリー表現を出力します。現時点では、プロジェクトには依存関係はありません。必要な依存関係を追加するには、build.gradle
を編集し、dependencies
セクションに spring-boot-starter-web
依存関係を追加します。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
}
gradle dependencies
を再度実行すると、Tomcat Web サーバーや Spring Boot 自体を含む、多くの追加の依存関係があることがわかります。
4.5. コードの作成
アプリケーションを完成するには、単一の Java ファイルを作成する必要があります。デフォルトでは、Maven および Gradle は src/main/java
からソースをコンパイルするため、そのディレクトリ構造を作成してから、次のコードを含む src/main/java/MyApplication.java
という名前のファイルを追加する必要があります。
package com.example;
@RestController
@SpringBootApplication
public class MyApplication {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
@SpringBootApplication
class MyApplication {
@RequestMapping("/")
fun home() = "Hello World!"
}
fun main(args: Array<String>) {
runApplication<MyApplication>(*args)
}
ここには多くのコードはありませんが、非常に多くのことが行われています。次のいくつかのセクションで重要な部分を順に説明します。
4.5.1. @RestController および @RequestMapping アノテーション
MyApplication
クラスの最初のアノテーションは @RestController
です。これはステレオタイプアノテーションとして知られています。コードを読んでいる人や、クラスが特定のロールを果たす Spring のヒントを提供します。この場合、クラスは Web @Controller
であるため、Spring は受信 Web リクエストを処理するときにそれを考慮します。
@RequestMapping
アノテーションは、「ルーティング」情報を提供します。/
パスを持つ HTTP リクエストは home
メソッドにマッピングする必要があることを Spring に伝えます。@RestController
アノテーションは、結果の文字列を呼び出し元に直接返すように Spring に指示します。
@RestController および @RequestMapping アノテーションは Spring MVC アノテーションです (Spring Boot に固有ではありません)。詳細については、Spring リファレンスドキュメントの MVC セクションを参照してください。 |
4.5.2. @SpringBootApplication アノテーション
2 番目のクラスレベルのアノテーションは @SpringBootApplication
です。このアノテーションはメタアノテーションと呼ばれ @SpringBootConfiguration
、@EnableAutoConfiguration
、@ComponentScan
を組み合わせたものです。
その中で、ここで最も注目するアノテーションは @EnableAutoConfiguration
です。@EnableAutoConfiguration
は、追加した jar 依存関係に基づいて、Spring を構成する方法を「推測」するように Spring Boot に指示します。spring-boot-starter-web
には Tomcat と Spring MVC が含まれているため、自動構成は Web アプリケーションを開発していると仮定し、それに応じて Spring をセットアップします。
4.5.3. "main" メソッド
アプリケーションの最後の部分は main
メソッドです。これは、アプリケーションのエントリポイントに関する Java の規則に従う標準のメソッドです。メインのメソッドは run
を呼び出して Spring Boot の SpringApplication
クラスに委譲します。SpringApplication
はアプリケーションをブートストラップし、Spring を起動します。これにより、自動構成された Tomcat Web サーバーが起動します。MyApplication.class
を引数として run
メソッドに渡し、SpringApplication
がプライマリ Spring コンポーネントであることを通知する必要があります。args
配列も渡され、コマンドライン引数が公開されます。
4.6. サンプルの実行
4.6.1. Maven
この時点で、アプリケーションは動作するはずです。spring-boot-starter-parent
POM を使用したため、アプリケーションを開始するために使用できる有用な run
ゴールがあります。ルートプロジェクトディレクトリから mvn spring-boot:run
と入力して、アプリケーションを起動します。次のような出力が表示されます。
$ mvn spring-boot:run
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 0.906 seconds (process running for 6.514)
Web ブラウザーを localhost:8080
で開くと、次の出力が表示されるはずです。
Hello World!
アプリケーションを正常に終了するには、ctrl-c
を押します。
4.6.2. Gradle
この時点で、アプリケーションは動作するはずです。org.springframework.boot
Gradle プラグインを使用したため、アプリケーションの起動に使用できる便利な bootRun
ゴールができました。ルートプロジェクトディレクトリから gradle bootRun
と入力して、アプリケーションを起動します。次のような出力が表示されるはずです。
$ gradle bootRun
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 0.906 seconds (process running for 6.514)
Web ブラウザーを localhost:8080
で開くと、次の出力が表示されるはずです。
Hello World!
アプリケーションを正常に終了するには、ctrl-c
を押します。
4.7. 実行可能 Jar の作成
本番環境で実行できる、完全に自己完結型の実行可能ファイル jar ファイルを作成して、この例を終了します。実行可能 jar ( "uber jar" または "fat jar" と呼ばれることもあります) は、コンパイルされたクラスとコードの実行に必要なすべての jar 依存関係を含むアーカイブです。
4.7.1. Maven
実行可能な jar を作成するには、spring-boot-maven-plugin
を pom.xml
に追加する必要があります。これを行うには、dependencies
セクションのすぐ下に次の行を挿入します。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
spring-boot-starter-parent POM には、repackage ゴールをバインドする <executions> 構成が含まれています。親 POM を使用しない場合、この構成を自分で宣言する必要があります。詳細については、プラグインのドキュメントを参照してください。 |
次のように、pom.xml
を保存し、コマンドラインから mvn package
を実行します。
$ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:3.2.2:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
target
ディレクトリを見ると、myproject-0.0.1-SNAPSHOT.jar
が表示されるはずです。ファイルのサイズは約 18 MB である必要があります。内部を覗いてみたい場合は、次のように jar tvf
を使用できます。
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
また、myproject-0.0.1-SNAPSHOT.jar.original
という名前のはるかに小さいファイルが target
ディレクトリに表示されるはずです。これは、Spring Boot によって再パッケージ化される前に Maven が作成した元の jar ファイルです。
そのアプリケーションを実行するには、次のように java -jar
コマンドを使用します。
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 0.999 seconds (process running for 1.253)
前と同様に、アプリケーションを終了するには、ctrl-c
を押します。
4.7.2. Gradle
実行可能ファイル jar を作成するには、次のようにコマンドラインから gradle bootJar
を実行する必要があります。
$ gradle bootJar
BUILD SUCCESSFUL in 639ms
3 actionable tasks: 3 executed
build/libs
ディレクトリを見ると、myproject-0.0.1-SNAPSHOT.jar
が表示されるはずです。ファイルのサイズは約 18 MB である必要があります。内部を覗いてみたい場合は、次のように jar tvf
を使用できます。
$ jar tvf build/libs/myproject-0.0.1-SNAPSHOT.jar
そのアプリケーションを実行するには、次のように java -jar
コマンドを使用します。
$ java -jar build/libs/myproject-0.0.1-SNAPSHOT.jar
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.2)
....... . . .
....... . . . (log output here)
....... . . .
........ Started MyApplication in 0.999 seconds (process running for 1.253)
前と同様に、アプリケーションを終了するには、ctrl-c
を押します。
5. 次のステップ
このセクションでは、Spring Boot の基本をいくつか説明し、独自のアプリケーションを作成するための方法を紹介しました。 特定の目的を解決したい場合は、入門ガイドを見てみましょう。また、Spring Boot に特化した "使い方" リファレンスドキュメントも用意されています。
それ以外の場合、次の論理的ステップ using.html に進みましょう。急いでいる場合は Spring Boot の機能を先に読んでしまうのも良いでしょう。