Spring Boot 熱部署
實(shí)際開發(fā)中,修改某個頁面數(shù)據(jù)或邏輯功能都需要重啟應(yīng)用。這無形中降低了開發(fā)效率,所以使用熱部署是十分必要的。
什么是熱部署?
應(yīng)用啟動后會把編譯好的Class文件加載的虛擬機(jī)中,正常情況下在項(xiàng)目修改了源文件是需要全部重新編譯并重新加載(需要重啟應(yīng)用)。而熱部署就是監(jiān)聽Class文件的變動,只把發(fā)生修改的Class重新加載,而不需要重啟應(yīng)用,使得開發(fā)變得簡便。
Spring Boot 配置實(shí)現(xiàn)熱部署
第一種方式: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 啟動應(yīng)用,修改controller中代碼 或 修改html頁面 后再刷新頁面,會發(fā)現(xiàn)顯示結(jié)果跟著變化。
注意:第一種方式 對 mvn spring-boot:run 這種方式啟動應(yīng)用有效,而對直接運(yùn)行Application.java啟動應(yīng)用無效。
注意1:如果發(fā)現(xiàn)沒有熱部署效果,則需要檢查idea配置中有沒有打開自動編譯:
打開 Preferences > Compiler , 勾選 Build project automatically

build auto.png
注意2:如果使用Thymeleaf模板引擎,需要把模板默認(rèn)緩存設(shè)置為false
在application.properties中添加:
#禁止thymeleaf緩存(建議:開發(fā)環(huán)境設(shè)置為false,生成環(huán)境設(shè)置為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>
重啟應(yīng)用,修改controller中代碼 或 修改html頁面 后再刷新頁面,會發(fā)現(xiàn)顯示結(jié)果跟著變化。
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請注明出處。