SpringBoot热更新和相关配置

本文介绍了Java热部署的概念,探讨了JVM的字节码替换技术,并详细讲解了如何在SpringBoot项目中通过添加依赖和修改IDEA配置实现热更新。通过在pom.xml中加入相关配置和调整IDEA的Compiler与Registry设置,可以实现在代码更改后自动重启并运行最新代码,提升开发效率。但需要注意,热部署并不适用于所有类型的修改,如配置文件的变动,且频繁重启有其利弊。
摘要由CSDN通过智能技术生成

介绍

何为热部署(hotswap)?

热部署是在不重启 Java 虚拟机的前提下,能自动侦测到 class 文件的变化,更新运行时 class 的行为。

Java 类是通过 Java 虚拟机加载的,某个类的 class 文件在被 classloader 加载后,会生成对应的 Class 对象,之后就可以创建该类的实例。默认的虚拟机行为只会在启动时加载类,如果后期有一个类需要更新的话,单纯替换编译的 class 文件,Java 虚拟机是不会更新正在运行的 class。

本质是JVM运行时字节码替换技术,使用到这种技术的组件还有像阿里巴巴开源的Java 代码诊断工具Arthas等。

热部署工具

在我们开发过程中,因为修改完代码后需要频繁地重启项目,严重拖慢了我们的开发速度。因此开发中经常使用 spring-boot-devtools 依赖开启热部署配置,进行项目的自动更新启动。其他实现热部署的方式还有 Jrebel 插件等,但因为是收费的,我们这里暂不考虑,只实践这种方式:

快速实践

1. 添加依赖配置

1、在pom.xml加入配置

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <optional>true</optional>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值