Spring Boot 熱部署 實際開發中,修改某個頁面數據或邏輯功能都需要重啟應用。這無形中降低了開發效率,所以使用熱部署是十分必要的。 什麼是熱部署? 應用啟動後會把編譯好的Class文件載入的虛擬機中,正常情況下在項目修改了源文件是需要全部重新編譯並重新載入(需要重啟應用)。而熱部署就是監聽C ...
Spring Boot 熱部署
實際開發中,修改某個頁面數據或邏輯功能都需要重啟應用。這無形中降低了開發效率,所以使用熱部署是十分必要的。
什麼是熱部署?
應用啟動後會把編譯好的Class文件載入的虛擬機中,正常情況下在項目修改了源文件是需要全部重新編譯並重新載入(需要重啟應用)。而熱部署就是監聽Class文件的變動,只把發生修改的Class重新載入,而不需要重啟應用,使得開發變得簡便。
Spring Boot 配置實現熱部署
第一種方式:maven 插件-springloaded
在spring-boot-maven-plugin插件配置中添加springloaded依賴。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
通過命令:mvn spring-boot:run 啟動應用,修改controller中代碼 或 修改html頁面 後再刷新頁面,會發現顯示結果跟著變化。
註意:第一種方式 對 mvn spring-boot:run 這種方式啟動應用有效,而對直接運行Application.java啟動應用無效。
註意1:如果發現沒有熱部署效果,則需要檢查idea配置中有沒有打開自動編譯:
打開 Preferences > Compiler , 勾選 Build project automatically
註意2:如果使用Thymeleaf模板引擎,需要把模板預設緩存設置為false
在application.properties中添加:
#禁止thymeleaf緩存(建議:開發環境設置為false,生成環境設置為true)
spring.thymeleaf.cache=false
第二種方式:依賴 spring-boot-devtools 熱部署模塊
pom.xml 添加依賴:
<!-- 熱部署模塊 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 這個需要為 true 熱部署才有效 -->
</dependency>
重啟應用,修改controller中代碼 或 修改html頁面 後再刷新頁面,會發現顯示結果跟著變化。
版權聲明:本文為博主原創文章,轉載請註明出處。