1 配置 Intellij IDEA
首先在 Intellij IDEA 中砚殿,開啟項目自動構(gòu)建選項:
然后打開 Maintenance 選項卡衣盾,快捷鍵為 Ctrl + Alt + Shift + /:
輸入快捷鍵后几晤,選擇 Registry也切,進(jìn)入注冊表只壳,找到 compiler.automake.allow.when.app.running,勾選它:
這時 Java 代碼發(fā)生變化時极景,IDEA 就會自動重新編譯察净。
2 Spring Boot DevTools
Spring Boot 的 DevTools 為我們提供了一些便利的開發(fā)期工具,包括以下這些內(nèi)容:
- 當(dāng)代碼變更后應(yīng)用會自動重啟(這在 IDEA 中需要進(jìn)行額外配置盼樟,上一小節(jié)有具體描述)氢卡;
- LiveReload 服務(wù)器配合 LiveReload 瀏覽器插件,能夠在模板 恤批、 圖片 异吻、 樣式表 、 JavaScript等發(fā)生變化時喜庞,自動刷新瀏覽器诀浪,這樣就可以免去手動刷新的動作;
- 自動禁用模板框架(比如 Thymeleaf 或 FreeMarker)緩存延都;
- 如果使用 H2 數(shù)據(jù)庫雷猪,那么可以通過 DevTools 內(nèi)置的 H2 控制臺,看到相關(guān)數(shù)據(jù)晰房。
安裝 DevTools 很簡單求摇,我們只需要在 pom.xml 中,配置好 DevTools 的依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
DevTools 運行時會自動啟動一個 LiveReload 服務(wù)器:
3 安裝 LiveReload Chrome 插件
網(wǎng)上搜索 LiveReload ocx 類型的 Chrome 瀏覽器插件安裝包并下載下來殊者,然后把文件類型從 ocx 改為 zip(直接安裝會報程序包無效)与境,拖入 Chrome 瀏覽器的擴展程序頁,進(jìn)行安裝猖吴。
安裝時摔刁,記得先打開“開發(fā)者模式”。安裝成功后海蔽,就會在擴展程序中看到 LiveReload :
4 熱部署
使用 LiveReload Chrome 插件時共屈,需要點擊右上角的 LiveReload 圖標(biāo)绑谣,讓其打開 WebSocket 監(jiān)聽 LiveReload 服務(wù)器。
在調(diào)試器中拗引,我們可以看到 LiveReload Chrome 插件是通過 WebSocket 實現(xiàn)監(jiān)聽 LiveReload 服務(wù)器的:
這時借宵,如果靜態(tài)資源或者前端視圖(比如模板)發(fā)生變化,就會通過 LiveReload 實現(xiàn)自動刷新瀏覽器啦?乛?乛?