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