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, 看看是否生效?

相关推荐
小码哥_常5 分钟前
揭秘!Spring Cloud Gateway为何独宠WebFlux
后端
杰克尼32 分钟前
springCloud(day09-Elasticsearch02)
java·后端·spring·spring cloud
@atweiwei37 分钟前
用 Rust 构建 LLM 应用的高性能框架
开发语言·后端·ai·rust·langchain·llm
han_hanker38 分钟前
springboot 不推荐使用@Autowired怎么处理
java·spring boot·后端
计算机学姐41 分钟前
基于SpringBoot的高校实验室预约管理系统
java·spring boot·后端·mysql·spring·信息可视化·tomcat
掘金者阿豪1 小时前
告别“目录不存在”:表空间创建体验的一次重要升级
后端
gelald2 小时前
Spring - 事务管理
java·后端·spring
nghxni2 小时前
LightESB Timer发布:服务级日志与响应编码增强
后端
Southern Wind2 小时前
AI Skill Server 动态技能中台
前端·后端·mysql·node.js
chen_ever2 小时前
从网络基础到吃透 Linux 高并发 I/O 核心(epoll+零拷贝 完整版)
linux·网络·c++·后端