Spring Boot 热部署

相信小伙伴们在日常的开发中,调试代码时,免不了经常修改代码,这个时候,为了验证效果,必须要重启 Spring Boot 应用。

频繁地重启应用,导致开发效率降低,加班随之而来。有没有什么办法,能让 Spring Boot 项目热部署呢,从而不用每次都手点。答案是肯定的

第一步:添加 spring-boot-devtools 依赖

Spring Boot 提供了 spring-boot-devtools, 它能在我们修改类或者配置文件后,自动感知,重新启动应用。我们只需要在 pom.xml 文件中,添加下面依赖:

pom 复制代码
<!-- SpringBoot自带热加载开发工具 -->
<dependency> 
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

第二步:设置 Idea

由于 Idea 默认是没有开启自动编译功能的,我们还需要做以下设置:

1.单击左上角 File -> Setting -> Build, Execution, Deployment -> compiler , 勾选 Build project automatically:

2.windowns 系统按快捷键 Shift+Ctrl+Alt+/ , 单击 Registry ,勾选 compiler.automake.allow.when.app.running

添加完成后,重启应用。为了验证热部署是否集成成功,我们将接口的路径改一下,保存:

java 复制代码
package site.exception.springboothello.controller; 
import org.springframework.web.bind.annotation.GetMapping; 
import org.springframework.web.bind.annotation.RestController; 

/** 
* @author explorer
* @date 2023/10/06 
* @time 13:58 
* @discription 
**/ 
@RestController public class TestController { 
    @GetMapping("/hellospringboot") 
    String hello() { 
        return "Hello, Spring Boot !"; 
    } 
}

观察控制台,打印了项目的启动日志,证明 Spring Boot 已经检测到了 class 文件发生了变化,自动重启了。

访问新的接口 /hellospringboot, 看看是否生效?

相关推荐
老夫的码又出BUG了12 分钟前
分布式Web应用场景下存在的Session问题
前端·分布式·后端
L.EscaRC2 小时前
Spring Boot 自定义组件深度解析
java·spring boot·后端
金銀銅鐵3 小时前
[Java] JDK 9 新变化之 Convenience Factory Methods for Collections
java·后端
微小冷3 小时前
Rust图形界面教程:egui基础组件的使用
后端·rust·gui·egui·button·panel·用户图形界面
javadaydayup3 小时前
同样是简化代码,Lambda 和匿名内部类的核心原理是什么?
后端
Yeats_Liao3 小时前
时序数据库系列(六):物联网监控系统实战
数据库·后端·物联网·时序数据库
金銀銅鐵3 小时前
[Java] 用 Swing 生成一个最大公约数计算器
java·后端
brzhang3 小时前
我觉得可以试试 TOON —— 一个为 LLM 而生的极致压缩数据格式
前端·后端·架构
苏三的开发日记4 小时前
库存预扣减之后,用户订单超时之后补偿库存的方案
后端
知其然亦知其所以然4 小时前
这波AI太原生了!SpringAI让PostgreSQL秒变智能数据库!
后端·spring·postgresql