Spring Boot05-热部署

一、Spring Boot 启动热部署

Spring Boot 启动"热部署(Hot Deployment) ",可以让你在不重启项目的情况下快速看到代码变更的效果(特别是前后端调试阶段)。


1-1、什么是热部署?

热部署是指:

修改 Java 或模板(如 HTML、Thymeleaf)代码后,无需手动重启服务,Spring Boot 能自动感知并重新加载类或资源,节省重启时间,提高开发效率。

热部署的过程:

1、重启(restart):自定义开发的代码,包括:页面,类,配置文件......,加载位置restart类加载器;

2、重载(reload):jar包(基本不会有变化),加载位置base类加载器

热部署,仅仅代码restart过程,而程序第一次启动的时候,既有restart过程,又有reload过程。


1-2、常用热部署方式

Spring Boot 推荐使用的热部署工具是 Spring Boot DevTools


1-3、使用 Spring Boot DevTools 实现热部署

1. 添加依赖:开启开发者工具

XML 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope> <!-- 只在开发环境有效 -->
    <optional>true</optional> <!-- 可选依赖,防止被打包进生产环境 -->
</dependency>

2. IDE 设置:激活热部署

Spring Boot DevTools 默认基于 类文件变更触发重启,因此你需要确保:

(1). 启用了自动构建:
  1. File → Settings → Build, Execution, Deployment → Compiler

  2. 勾选:✔️ Build project automatically

(2). 让 IntelliJ 在修改文件后自动编译:

Advanced Settings :✔️ "Allow auto-make to start even if developed application is currently running"

这样只要你保存了 Java 文件,IDE 就会自动编译触发 DevTools 热部署。

此时,页面发生了变化,不会参加热部署。

设置不参与热部署的文件/文件夹:


1-4、DevTools 热部署行为总结

变更内容 是否自动热部署 说明
Java 类(Controller, Service) ✅ 是 自动重新加载
静态资源(HTML, CSS, JS) ✅ 是 即时刷新页面
配置文件(application.properties) ❌ 否 需要重启才能生效
引入新依赖 ❌ 否 需要 重新启动项目

1-5、禁用热部署的功能呢

相关推荐
Json_31 分钟前
学习springBoot框架-开发一个酒店管理系统,熟悉springboot框架语法~
java·spring boot·后端
kkkkk02110639 分钟前
微服务学习笔记(黑马商城)
java·spring boot·spring·spring cloud·sentinel·mybatis·java-rabbitmq
冲鸭ONE1 小时前
新手搭建Spring Boot项目
spring boot·后端·程序员
数智顾问1 小时前
Flink ProcessFunction 与低层级 Join 实战手册:多流广告计费精确去重
java·spring boot·spring
Json____2 小时前
最近我用springBoot开发了一个二手交易管理系统,分享一下实现方式~
java·spring boot·后端
喜欢读源码的小白3 小时前
SpringBoot的启动流程原理——小白的魔法引擎探秘
java·开发语言·spring boot·springboot启动原理
摇滚侠3 小时前
Spring Boot 3零基础教程,WEB 开发 通过配置类代码方式修改静态资源配置 笔记32
java·spring boot·笔记
小咕聊编程4 小时前
【含文档+PPT+源码】基于spring boot的固定资产管理系统
java·spring boot·后端
马尚道4 小时前
SpringBoot开发双11商品服务系统 | 已完结
spring boot
韩立学长4 小时前
【开题答辩实录分享】以《自然灾害隐患点管理信息系统》为例进行答辩实录分享
数据库·spring boot