引子
對于 Java 項目而言,在開發過程中, 一個非常大的問題在于,每次在修改完文件之后都需要 重新編譯、啟動,才能查看到最新的修改效果,這極大影響了開發效率 。 因此, Spring Boot 提供了 幾種熱插拔( HotSwapping)方式。
重新加載靜態內容
有多種熱加載的方式,推薦的方法是使用 spring-boot-devtools,因為它提供了額外的功能,例如, 支持快速應用程序重啟和 LiveReload及智能的開發時配置(如模板緩存) 。
Devtools 通過監視類路徑的變更來實現熱加載 。 這意味著靜態、資源更改必須構建才能使更改生 效 。 不同的 IDE 觸發更新的方式有所不同 。 默認情況下,在 Eclipse 中,保存修改的 文件將導致類 路徑被更新并觸發重新啟動 。 在 IntelliJ IDEA 中,構建項目( Build ’ Make Project)將具有相 同的 效果。
在 IDE 中運行(特別是調試)是另外一個非常好的開發方式,因為幾乎所有現代 IDE 都允許 重新加載靜態資源,通常還可以熱部署 Java類的更改。
重新加載模板
Spring Boot在大多數模板技術中,都有包括禁用緩存的配置選項 。 啟用這個禁用緩存的選項后, 修改模板文件,就能自動實現模板的加載 。 如果使用 spring-boot-devtools 模塊,這些屬性將在開發時自動配置上 。如果使用 Thymeleaf, 設置 spring.thymeleaf.cache為 false,就可以禁用緩存功能。