エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。
サイトをリニューアルしました

GradleでSpringBootのホットリロードを設定する

ゴール

SpringBootの開発において、Gradleコマンドでアプリケーションを立ち上げてるときに
ソースコードを変更したら即座に変更が反映されるようにする。

ターミナル実行にこだわりが無ければ、VSCodeやIntelliJを使うとスムーズにホットリロードできる。

参考:📄Arrow icon of a page linkIntelliJ IDEA CEでSpringBootのホットリロードを設定する

事前準備

spring-boot-devtoolsを入れる。

参考:Icon in a page link開発者ツール :: Spring Boot - リファレンスドキュメント

dependencies {
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
}

以下の設定はやってもやらなくても良い。(デフォルトでtrueのため)

spring.devtools.restart.enabled=true

ターミナルでコマンドを実行する

ターミナルを2つに分割し、それぞれコマンドを実行する。

(2つの実行コマンドが必要なのが面倒な点)

ターミナル①

継続的にビルドをし続けるオプション --continuousを付与してビルドを実行する。

./gradlew build --continuous
-t, --continuous Enables continuous build. Gradle does not exit and will re-execute tasks when task file inputs change.

ターミナル②

アプリケーションの起動コマンドを実行する。

./gradlew bootRun

これで、buildタスクがソースコードの変更を検知して更新してくれる。