39、springboot——热部署

 


热部署

在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,
我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下四种情况,如何能实现热部署。

 

1、模板引擎
在Spring Boot中开发情况下禁用模板引擎的cache 页面模板改变ctrl+F9
可以重新编译当前页面并生效

 

2、Spring LoadedSpring
官方提供的热部署程序,实现修改类文件的热部署 下载Spring Loaded(
添加运行时参数; -javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify      

 

3、JRebel 
收费的一个热部署软件 
安装插件使用即可

 

4、Spring Boot Devtools(推荐)

这里我就以测试Spring Boot Devtools为例

创建一个简单的springboot应用,只导入了web模块

创建一个HelloController

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
}

开启服务访问没问题

HelloController编译后的class文件

 此时我们修改路径映射

@RestController
public class HelloController {

    @GetMapping("/aaa")
    public String hello(){
        return "hello";
    }
}

如果IDEA没有开启自动编译的话则需要手动Ctrl+F9进行构建重新编译构建

 重新编译之后,class文件就修改了

 但是访问aaa路径还是无效

 需要重启服务才有生效,每次修改就得重启服务会很麻烦,此时我们就可以用上热部署

导入devtools 依赖

 <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
</dependency>

之后每次修改完了代码,只要按Ctrl+F9重新编译后,项目就会自动重新部署(热部署)

在eclipse中需要热部署的话也是先导入依赖,但只需要按Ctrl+S保存即可,因为保存即重新编译

posted @   Arbitrary233  阅读(214)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示