Thymeleaf開発で絶対入れたいホットリロード(デプロイ)

Thymeleafでホットリロードをする方法

Thymeleafでホットリロードを行うためには、SpringBoot DevToolsを使用するのが一般的です。
以下は、SpringBootプロジェクトにDevToolsを設定してThymeleafのホットリロードを実現する方法です。

1. SpringBoot DevToolsの依存関係を追加

build.gradleを使用している場合:

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

pom.xmlを使用している場合:

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
  </dependency>
</dependencies>

2. application.properties の設定

spring.thymeleaf.cache=false

3. EclipseまたはIntelliJの設定

Eclipse
自動ビルドが有効になっていることを確認します。
IntelliJ
"Build project automatically" が有効になっていることを確認します。

ソースコード例

以下は、Thymeleafを使用して簡単なWebページを表示するコントローラの例です。

コントローラ (Controller)
package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class ホームコントローラ {

  @GetMapping("/ホーム")
  public String ホームページ(Model model) {
    model.addAttribute("メッセージ", "こんにちは、Thymeleaf!");
    return "ホーム";
  }
}
テンプレート (Thymeleaf)
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>ホームページ</title>
</head>
<body>
  <h1 th:text="${メッセージ}">メッセージがここに表示されます</h1>
</body>
</html>

この設定を行うことで、テンプレートを変更すると、自動的にブラウザで変更が反映されるようになります。
これにより、開発効率が大幅に向上します。