一文詳解springboot中的熱啟動(dòng)配置方案
Spring Boot 的熱啟動(dòng)(熱部署)主要通過 **`spring-boot-devtools`** 模塊實(shí)現(xiàn),它能在代碼修改后自動(dòng)重啟應(yīng)用(無(wú)需手動(dòng)停止再啟動(dòng)),大幅提升開發(fā)效率。以下是詳細(xì)配置和使用指南:
一、核心機(jī)制
spring-boot-devtools 通過兩階段實(shí)現(xiàn)熱更新:
1.自動(dòng)重啟(Restart):檢測(cè)到 classpath 下的文件變動(dòng)(如 Java 類、配置文件)→ 觸發(fā)應(yīng)用重啟(速度比冷啟動(dòng)快)。
2.實(shí)時(shí)重載(LiveReload):配合瀏覽器插件,靜態(tài)資源(HTML/CSS/JS)修改后自動(dòng)刷新頁(yè)面。
二、快速配置(3步)
1. 添加依賴
<!-- Maven pom.xml -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional> <!-- 避免依賴傳遞 -->
</dependency>
</dependencies>
// Gradle build.gradle
dependencies {
developmentOnly 'org.springframework.boot:spring-boot-devtools'
}
2. 開啟 IDEA 自動(dòng)編譯
設(shè)置路徑:Settings > Build, Execution, Deployment > Compiler
勾選 Build project automatically
啟用運(yùn)行時(shí)編譯 (關(guān)鍵步驟!):Ctrl + Shift + A 搜索 Registry → 勾選:
compiler.automake.allow.when.app.running
3. 修改配置(可選)
# application.yml
spring:
devtools:
restart:
enabled: true # 默認(rèn)true,可關(guān)閉
trigger-file: .trigger # 用此文件觸發(fā)重啟(避免頻繁保存觸發(fā))
exclude: static/** # 排除無(wú)需監(jiān)控的目錄
三、使用技巧
靜態(tài)資源熱更新(無(wú)需重啟)
- 前端文件位置:
src/main/resources/static或public - 瀏覽器安裝插件:LiveReload
- 修改 CSS/JS/HTML 后 → 自動(dòng)刷新頁(yè)面
跳過指定文件重啟
// 在代碼中排除觸發(fā)重啟
@SpringBootApplication
public class App {
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.exclude", "templates/**");
SpringApplication.run(App.class, args);
}
}
手動(dòng)觸發(fā)重啟
在項(xiàng)目中創(chuàng)建 src/main/resources/.trigger 文件(文件名與配置一致),修改該文件觸發(fā)重啟。
四、常見問題解決
修改 Java 代碼后未重啟
- 檢查是否關(guān)閉了 IDEA 的
Build project automatically - 確認(rèn)
Registry中的compiler.automake.allow.when.app.running已啟用 - 嘗試手動(dòng) Build:
Build > Build Project(Ctrl+F9)
靜態(tài)資源修改未刷新
- 檢查是否使用了
src/main/webapp目錄(不推薦) → 改用static或public - 瀏覽器禁用緩存:開發(fā)者工具 → Network → ? Disable cache
熱部署失效(多模塊項(xiàng)目)
在子模塊的 pom.xml 中添加:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>false</excludeDevtools>
</configuration>
</plugin>
</plugins>
</build>
五、高級(jí)方案:JRebel(付費(fèi))
若需 無(wú)重啟熱更新(直接替換內(nèi)存中的類),推薦 JRebel:
- 安裝 IDEA 插件:
JRebel and XRebel - 激活(可試用14天)
- 啟動(dòng)項(xiàng)目時(shí)選擇
Debug with JRebel
優(yōu)勢(shì):修改 Java 代碼后無(wú)需重啟應(yīng)用,實(shí)時(shí)生效(對(duì)大型項(xiàng)目提速顯著)。
六、熱啟動(dòng)原理圖
mermaid代碼導(dǎo)出svg

生產(chǎn)環(huán)境警告:務(wù)必移除 spring-boot-devtools 依賴(通過 <scope>provided</scope> 或 developmentOnly),避免安全風(fēng)險(xiǎn)!
到此這篇關(guān)于一文詳解springboot中的熱啟動(dòng)配置方案的文章就介紹到這了,更多相關(guān)springboot熱啟動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Hibernate Validator實(shí)現(xiàn)更簡(jiǎn)潔的參數(shù)校驗(yàn)及一個(gè)util
這篇文章主要介紹了Hibernate Validator實(shí)現(xiàn)更簡(jiǎn)潔的參數(shù)校驗(yàn)及一個(gè)util,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志示例
這篇文章主要為大家介紹了spring boot整合log4j2及MQ消費(fèi)處理系統(tǒng)日志的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03
基于SpringBoot和Jacob實(shí)現(xiàn)WPS文件的自動(dòng)轉(zhuǎn)換
本文詳細(xì)介紹了如何使用SpringBoot和Jacob實(shí)現(xiàn)WPS文件的自動(dòng)轉(zhuǎn)換,主要步驟包括配置項(xiàng)目目錄、pom.xml、加載DLL、啟動(dòng)類、工具類、Service層和Controller層接口,最終,通過瀏覽器調(diào)用接口,可以下載轉(zhuǎn)換后的WPS文件,需要的朋友可以參考下2025-11-11
Spring6?的JdbcTemplate的JDBC模板類的使用介紹(最新推薦)
JdbcTemplate?是Spring?提供的一個(gè)JDBC模板類,是對(duì)JDBC的封裝,簡(jiǎn)化JDBC代碼,當(dāng)然,你也可以不用,可以讓Spring集成其它的ORM框架,這篇文章主要介紹了Spring6?的JdbcTemplate的JDBC模板類的詳細(xì)使用說明,需要的朋友可以參考下2024-05-05
IDEA更換新版本啟動(dòng)沒反應(yīng)的問題及解決
文章總結(jié):解決IDEA新版本啟動(dòng)無(wú)反應(yīng)的問題,主要是因?yàn)镮DEA64.exe.vmoptions配置文件中殘留了老版本的javaagent信息,刪除該信息并清理相關(guān)配置文件夾后,重新啟動(dòng)IDEA即可解決問題2025-11-11
SpringBoot+WebSocket實(shí)現(xiàn)即時(shí)通訊的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot+WebSocket實(shí)現(xiàn)即時(shí)通訊功能,文中示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下2022-05-05
springboot 3.x 整合 RocketMQ 5.x的詳細(xì)過程
本文介紹了如何在SpringBoot中使用RocketMQ 5.x客戶端,包括依賴配置、參數(shù)設(shè)置、生產(chǎn)者和消費(fèi)者的消息發(fā)送與接收示例以及服務(wù)端環(huán)境搭建,感興趣的朋友跟隨小編一起看看吧2025-12-12

