Spring Boot DevToolsを使って、コードを修正して確認といったサイクルを短くする

Spring Boot DevTools を使うことによって、コードを修正して確認といったサイクルを短くすることができます。

使い方

build.gradlepom.xmlで依存関係を追加するだけです。

dependencies {
    compile("org.springframework.boot:spring-boot-devtools")
}

Automatic restart

クラスパス上のファイルが変更されると、自動でアプリケーションを再起動してくれます。

Thymeleafのテンプレートなど、もともと再起動が必要ではないのが変更されても再起動されません。 なお、Spring Boot DevToolsを使うと、Thymeleafのキャッシュも無効(spring.thymeleaf.cache=falseと同じ)となりますので、再起動しなくてもキャッシュが効いていて最新にならない、、といったことはありません。

LiveReload

Automatic restartでアプリケーションが常に最新の状態になっても、ブラウザをリロードしないと表示内容は古いままです。

LiveReloadは、アプリケーションが再起動されたら、ブラウザも自動でリロードしてくれる機能です。 動作させるためには、ブラウザにアドオンを入れる必要があります。

アドオンを入れると、アイコンが追加されます。対象の画面を表示した状態でアイコンを押下すると、LiveReloadが有効になります。

f:id:onozaty:20170108233403p:plain

Thymeleafのテンプレートなど、Automatic restartの対象とならないものでも、変更されたタイミングで検知してくれます。

これでコードを書けば勝手にブラウザに最新の状態のものが表示されるようになります。便利ですね!