Spring Boot实现热部署(hot swapping)

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

引言

Spring Boot在web开发中非常常用,但是有个很大的问题就是每次在修改完文件之后都需要重新启动来查看效果,因此需要实现Spring Boot的热部署(hot swapping)。本文主要介绍如何实现Spring Boot的热部署。

1. Maven的POM文件

Spring Boot本身提供了实现热部署的设置,首先要在Maven的POM文件中添加以下内容(在官方文档中有):

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

image

当然Maven插件也必不可少:

<plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <mainClass>package-name.Application</mainClass>
    </configuration>
    </plugin>
</plugins>

2. Eclipse

还有一个重要的问题,针对eclipse的,eclipse –> Project –> Build Automatically要选中,不选中的话不起作用。

3. application.properties

application.properties文件中要加上下面的代码:

spring.resources.chain.cache=false

上面的代码是告诉Spring Boot Maven项目中的resource文件夹下的资源不进行缓存处理,即每次都需要去加载。

注: 这只是开发的时候使用,项目实际运行时必须设为true,这样加载页面速度更快。

总结: Spring Boot项目中,HTML,JS,Java代码及配置文件的缓存机制各不相同,即有三种缓存机制,背后的原理想要深究的可以去查一下。

【ISP图像处理】Demosaic去马赛克技术演进与边缘优化策略 本文深入解析了ISP图像处理中的Demosaic(去马赛克)技术。从Bayer阵列原理出发,梳理了从双线性插值、Hamilton-Adams边缘导向算法到利用通道相关性与自相似性的技术演进历程,并重点探讨了针对边缘与纹理伪影的优化策略,为工程实践中的算法选型与硬件协同设计提供了专业指导。 阅读详情

相关推荐

【Python】torch_npu

Ascend AI处理器核心计算范式与PyTorch的桥接艺术:深入探索torch_npu的基石要真正理解,我们必须首先超越其作为PyTorch后端库的表面认知,深入其所服务的硬件——华为昇腾(Ascend)AI处理器的核心计算范式。这不仅仅是关于如何在NPU上运行PyTorch模型,更是关于NPU如何设计其计算,以及如何巧妙地将这种硬件特性映射到PyTorch的抽象层之上。1. 昇腾AI处理器的达芬奇架构:极致算力的源泉昇腾AI处理器并非传统的CPU或GPU。它采用了华为独创的达芬奇(Da Vinci)架

宅男很神经 5291

Spring Boot 开发环境热部署(HotSwap)详解

Spring Boot 提出了多项开箱即用的功能特性,但归根到底还是围绕简化应用的创建、开发、运行。开发环境下我们经常对项目代码进行变动,如果每次都重新启动应用则会消耗大量的时间,为此就产生了多种进行热部署的方案,可以在不重启的情况下使用新的代码。

大鹏的博客 9066

视源CVTE嵌入式面试题及参考答案(200+面试题,17万字)

内核模块如何设置? 内核模块是可在运行时动态加载到内核或从内核卸载的代码块。以下是设置内核模块的步骤: 首先,编写内核模块代码。通常使用 C 语言编写,包含必要的头文件,如<linux/init.h>、<linux/module.h>等。在代码中,需要定义模块的初始化函数和清理函数。初始化函数在模块加载时被调用,用于进行模块的初始化工作,如注册设备、分配资源等。清理函数在模块卸载时被调用,用于释放资源、注销设备等。 例如: #include <li

大模型大数据攻城狮的专栏 2156

Hot swapping 热启动

Hot swapping 热启动 https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/ 【19.5 Hot swappingHot swapping 热插拔,我们也叫他热启动,修改程序时无需手动重启服务器就能预览程序的改变, 一、配置 Developer tools 1、pom中引入开发者工具(停...

zhang_cl_cn的博客 791

spring boot的热加载(hotswap)

官网上是叫hotswap,有人翻译成热部署,有人翻译成热加载 个人倾向于使用热加载在这个词,和谷歌翻译的热插拔相似. 关于个人理解 http://www.cnblogs.com/ptqueen/p/8384898.html idea中分为三步,eclipse好像更简单,没试过,至于各种博客介绍的什么<optional>true.<fork>true都没用, &l...

weixin_34007291的博客 498

SpringBoot项目通过HotswapAgent实现热部署(JDK1.8)

HotswapAgent

oThrowsException的博客 596

springboot在intellij中的热部署(Hot swapping)配置

勾选下面的Build project automatically(如果不勾选那么每次修改代码文件后就需要手动build了) 勾选下面的compiler.automake.allow.when.app.running pom.xml中加入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</a.

微电子学与固体电子学-俞驰 893

Spring boothot swapping

前言 嘛,都是看官方文档的,就先贴上文档地址: using-boot-hot-swapping 使用 使用hot swapping只需要把devtools的jar包添加到你的classpath里. 在gradle里添加依赖: compile("org.springframework.boot:spring-boot-devtools") 然后如果你的classpath发生改变,你的applicat...

weixin_34112208的博客 101

Springboot hot swapping(热部署)

在pom中添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency...

weixin_30389003的博客 145

Hot swapping

  83. Hot swapping83.1 Reload static contentThere are several options for hot reloading. The recommended approach is to use spring-boot-devtools as it provides additional development-time features su...

weixin_33998125的博客 184

Tabbit AI:原生智能浏览器驱动的办公自动化工作流引擎

办公自动化正从单点AI辅助迈向多系统协同自治。作为面向企业级Web应用的智能工作流编排器,Tabbit AI基于浏览器原生能力,深度融合DOM操作、跨域请求与办公语义理解,实现对审批、报销、周报生成等高频任务的自动规划与弹性执行。其核心突破在于三层决策架构——环境感知层精准识别无标识界面状态,意图推理层通过百万级脱敏办公行为日志建模用户真实诉求,执行协调层支持状态快照、条件分支与自动降级,显著区别于依赖API或图像识别的传统RPA与通用大模型工具。适用于飞书、钉钉、CRM、ERP等多平台混合办公场景。

weixin_33794672的博客 296

【框架】Spring问题汇总 (on IDEA MAC)

1.操作问题 1.Terminal中结束Spring程序 control+C 2.application.properties与application.yml之间的区别? 实质上两者是差不多的,区别在于结构。 官方给的很多demo,都是用yml文件配置的;yml文件的好处:天然的树状结构,一目了然, 注意点: 1.原有的key,例如spring.jpa.properties.hibernate....

IN THE ZONE 2232

Spring Boot(一)Hello World

Spring Boot适合与微服务,方便快速开发,简化配置(约定>配置)。 准备工作: SpringBoot 2.0 jdk8 IDEA或者eclipse+Spring Tool Suits 创建项目啥的都不说了,看链接:http://tengj.top/2017/02/26/springboot1/ 注意点: SpringBoot的默认配置文件默认读取方式是ISO8859-...

weixin_34259159的博客 76

SpringBoot实现热部署

SpringBoot实现热部署

深圳市多克创新科技有限公司 2117

IDEA 实现SpringBoot热部署(HotSwap)

1、使用快捷键ctrl+shift+f9只编译当前文件,使用ctrl+f9编译整个项目。3、编译成功后会有一个Code has been reloaded提示。2、只支持修改方法体内代码。

zero_wsh的博客 250

spring-boot 热替换(hot swapping

文档相关内容:https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-devtools.htmlpom中引入如下依赖:&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&...

viclao的专栏 2878

springboot实现热部署

在实际开发中,我们做好的项目难免会出现一些问题,但是我们知道我们处理完这些问题后,我们需要重启一下服务器那么我们处理完问题后的项目才能生效(也就是说:修改了项目的代码后需要重启一下服务器然后修改后的项目才生效,不重启服务器的话要不然还是以前代码),因此这样每次修改项目问题的时候我们都要重启一次服务器在实际开发中是非常麻烦的,因此热部署就解决了这个问题,热部署可以在我们修改完项目代码后不用重启服务器就能把项目代码部署到服务器中(也就是说修改完项目代码后不用重启服务器修改后的项目代码就能生效)...

lwj_07的博客 2万+

Spring Boot 热部署

在开发过程中,通常会对一段业务代码不断地修改测试,在修改之后往往需要重启服务,有些服务需要加载很久才能启动成功,这种不必要的重复操作极大地降低了程序开发效率。为此,Spring Boot框架专门提供了进行热部署的依赖启动器,用于进行项目热部署,而无需手动重启项目。

梁辰兴的博客 1万+

使用 Idea + HotswapAgent 实现 SpringBoot 代码热部署(简易版)

本篇文章介绍一下如何使用 Idea + HotSwapAgent实现 SpringBoot 的代码热部署功能。 首先 HotSwapAgent 依赖 DCEVM。如果你用的 jdk8,首先需要确认的是你的 jdk8 的版本要低于 jdk8u181。如果高于这个版本,则需要重新下载 jdk8u181并安装,下载链接。 第二步,下载 DCEVM ,下载链接 第三步,以管理员身份打开下载好的 jar 包 # 以 jar 包方式运行安装包 java -jar "E:\迅雷下载\DCEVM-8u181-ins

永远相信美好的事情即将发生 6141
上一篇: Javascript中的href
下一篇: Maven介绍与应用
SnailTyan
SnailTyan 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄12年 1871粉丝 812原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值