当前位置: 首页 > news >正文

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. 添加依赖:开启开发者工具

<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、禁用热部署的功能呢

http://www.xdnf.cn/news/1161469.html

相关文章:

  • 设计模式六:工厂模式(Factory Pattern)
  • Trae开发uni-app+Vue3+TS项目飘红踩坑
  • 数据结构自学Day11-- 排序算法
  • 迁移科技3D视觉系统:赋能机器人上下料,开启智能制造高效新纪元
  • react-window 大数据列表和表格数据渲染组件之虚拟滚动
  • GoLang教程005:switch分支
  • Git核心功能简要学习
  • 面试总结第54天微服务开始
  • Neo4j graph database
  • 【数据结构与算法】数据结构初阶:详解二叉树(二)——堆
  • Vue3 面试题及详细答案120道 (1-15 )
  • Node.js的Transform 流
  • 2x2矩阵教程
  • 亚马逊自养号测评实战指南:从环境搭建到安全提排名
  • G1垃圾回收器
  • 复习博客:JVM
  • LVS 集群技术基础
  • Valgrind Cachegrind 全解析:用缓存效率,换系统流畅!
  • 【初识数据结构】CS61B中的最小生成树问题
  • 本地部署Nacos开源服务平台,并简单操作实现外部访问,Windows 版本
  • ZooKeeper学习专栏(四):单机模式部署与基础操作详解
  • ruoyi-flowable-plus Excel 导入数据 Demo
  • 【qml-3】qml与c++交互第二次尝试(类型方式)
  • (9)机器学习小白入门 YOLOv:YOLOv8-cls 技术解析与代码实现
  • uni-app 开发小程序项目中实现前端图片压缩,实现方式
  • Java基础面试题
  • Laravel 后台登录 403 Forbidden 错误深度解决方案-优雅草卓伊凡|泡泡龙
  • 芯谷科技--固定电压基准双运算放大器D4310
  • kafka 日志索引 AbstractIndex
  • 智慧场景:定制开发开源AI智能名片S2B2C商城小程序赋能零售新体验