DevTools實現熱部署方式(自重啓)
在激活了開發者工具後,ClassPath裏對文件做任何修改都會觸發應用程序重啓。爲了讓重啓的速度夠快,不會修改的類(第三方JAR包)都加載到了基礎類加載器裏,而應用程序的代碼則會加載到一個單獨的重啓類加載器裏。檢測到變更時,只會重啓類加載 器重啓。
有些ClassPath裏的資源變更後不需要重啓應用程序。像Thymeleaf這樣的視圖模板可以直接編輯,不用重啓。在/static 或 /public裏的靜態資源也不用重啓應用程序,所以Spring Boot開發者工具在重啓時排除掉了如下目錄:/META-INF/resources、/resources、/static、/public、/templates。
一、pom依賴
<!-- spring-boot-devtools --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <!-- 表示依賴不會傳遞 --> </dependency>
三、IDEA 設置爲在程序運行過程中,依然允許自動編譯 步驟: ctrl + shift + alt + /,選擇Registry,勾選勾上 Compiler autoMake allow when app running
勾選目標的位置自己找找,排列順序不一樣,勾選後記得重啓生效! 四、設置自動加載資源配置和編譯