SpringBoot热部署方案大全-总有一种适合你:跟超长启动时间说再见

SpringBoot热部署实践:告别漫长重启
本文介绍了三种SpringBoot热部署方案:Spring-boot-devtools、Jrebel插件和HotSwapAgent+DCEVM,帮助开发者在修改代码后快速生效,提高开发效率。详细阐述了每种方案的原理、实施步骤以及适用场景,旨在解决大型项目启动时间长的问题。

在日常代码开发与调试过程中,频繁地修改代码并重新编译、启动SpringBoot工程以生效是常见的操作。但是有些项目非常庞大,启动时间可能长达几十秒甚至几分钟,这极大地降低了开发效率。为了解决这个问题,我们可以尝试使用热部署技术,以最短的时间使仅修改的部分生效。其实IDEA本身在使用Debug模式的情况下,是可以对一些简单的修改实现热部署效果的,但是稍微复杂的修改比如对配置文件,方法名称改变,增加类及方法进行热部署是无法生效的,所以其使用范围有限。接下来,让我们直接介绍多种更强大的热部署的具体实现方案。

方案一:Spring-boot-devtools组件

原理:spring-boot-devtools使用了两个类加载器ClassLoader,一个ClassLoader加载不会发生更改的类(第三方jar包),另一个ClassLoader(restart ClassLoader)加载会更改的类(自定义的类)。后台启动一个文件监听线程(File Watcher),监测的目录中的文件发生变动时,原来的restart ClassLoader被丢弃,将会重新加载新的restart ClassLoader。因为文件变动后,第三方jar包不再重新加载,只加载自定义的类,加载的类比较少,所以重启比较快。

  1. 第一步:修改pom文件,加入组件
<dependencies>
    <!-- devtools热部署依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <!-- 防止将依赖传递到其他模块中 -->
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝鱼zzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值