681 字
3 分钟
SpringBoot开启热更新
在 Spring Boot 中实现热更新(热部署)可以显著提升开发效率,以下是几种主流的实现方案及详细配置步骤
一、Spring Boot DevTools(官方推荐)
推荐指数:★★★★★
原理:通过类加载器隔离机制实现快速应用重启
配置步骤:
添加依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency>IDEA 配置:
Settings → Build, Execution, Deployment → Compiler
: ✅ 勾选Build project automatically
(自动编译)Settings → Advanced Settings
(高级设置): ✅ 勾选Allow auto-make to start even if developed application is currently running
触发更新:
- 修改 Java 代码后按
Ctrl + F9
(手动触发编译) - 修改静态资源(HTML/CSS/JS)会自动立即生效
- 修改 Java 代码后按
高级配置(可选):
devtools: add-properties: restart: enabled: true #设置开启热部署 additional-paths: src/main/java #重启目录 exclude: WEB-INF/**
二、JRebel(商业方案)
推荐指数:★★★★☆
优势:瞬时热更新,无需重启,支持更多框架
使用场景:大型项目或需要极致热部署体验
安装插件:
- IDEA:
Plugins 市场搜索 JRebel 安装
- IDEA:
激活授权:
- 教育用户可申请免费授权
- 或使用企业许可证
启用方式:
- 启动时选择
Run with JRebel
替代常规启动 - 修改代码后直接保存即可生效
- 启动时选择
三、IDEA 原生热加载
推荐指数:★★★☆☆
适用场景:简单修改验证(字段/日志等)
开启配置:
Settings → Build, Execution, Deployment → Debugger
: ✅ 勾选HotSwap: Reload classes after compilation
触发方式:
- 修改代码后按
Ctrl + F9
编译 - 通过
Debug模式
运行时,自动重载变更的类
- 修改代码后按
限制:无法修改方法签名/类结构等重大变更
四、Spring Loaded(第三方方案)
推荐指数:★★★☆☆
配置方式:
<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.8.RELEASE</version> </dependency> </dependencies> </plugin> </plugins></build>
启动命令:
mvn spring-boot:run
▶️ 效果验证
修改以下代码测试热部署:
@RestControllerpublic class TestController { @GetMapping("/test") public String test() { return "修改前内容"; // 改为其他内容保存测试 }}
访问 http://localhost:8080/test
观察是否立即生效
⚠️ 常见问题排查
修改不生效:
- 检查是否在
Debug 模式
下运行 - 确认 IDEA 开启了自动编译(部分版本需手动配置)
- 查看控制台是否有
Restarting...
日志输出
- 检查是否在
静态资源未更新:
- 清理浏览器缓存
- 确认资源文件位于
src/main/resources/static
类加载异常:
- 重大结构修改仍需冷启动
- 尝试使用
Build → Rebuild Project
五、生产环境警告
❗ 重要:所有热部署工具(包括 DevTools)都 不能用于生产环境!务必确保生产部署时已移除相关依赖。
根据项目需求选择最适合的方案,一般推荐优先使用 DevTools + IDEA 原生热加载的组合,兼顾便捷性和稳定性。
阅读量:
评论数: