【SpringBoot专题】SpringBoot热更新和相关配置_springboot配置热更新-程序员宅基地

技术标签: jvm  spring boot  java  mybatis  后端  

介绍

何为热部署(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>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_73088370/article/details/126571139

智能推荐

函数被多次定义解决办法(亲自帮同学解决了这个问题)-程序员宅基地

文章浏览阅读5.6k次,点赞2次,收藏5次。函数被多次定义的问题总是一直困扰着我,每次都耗费我大量的时间和精力去处理,实在令我头疼解决办法:编写一个头文件(里面放置你的一些函数和变量的声明),在你的.cpp文件中#include “XX.h”这样使得你的工程能通过编译,最后编译器在XX.h寻找其中函数定义时,会去每个文件中查找相关的函数定义。出现问题的原因另外函数重定义的原因是,在多个文件中直接包含了有同一个函数定义的文件,这样链接的时候就会出问题,就会报告多个函数定义,原因不用我细说也懂..._被多次定义

web服务器项目常见面试题目(C++)_webserver面试-程序员宅基地

文章浏览阅读1.9w次,点赞87次,收藏439次。项目介绍1、为什么要做这样一个项目?2、介绍下你的项目_webserver面试

AndroidX的库在哪里下载(AndroidStudio)_androidx.jar-程序员宅基地

文章浏览阅读6.8k次。AndroidXAndroidX 是对 android.support.xxx 包的整理后产物。由于之前的 support 包过于混乱,所以,Google 推出了AndroidX。在后续版本中,会逐步放弃对 support 的升级和维护,所以,我们必须迁移到 AndroidX 。如何迁移到AndroidX在 AndroidStudio 3.2 或更高版本(截图中 AndroidStudio..._androidx.jar

Linux bash(bash shell) 特性_bin bash 操作liunx 命令-程序员宅基地

文章浏览阅读541次,点赞22次,收藏16次。最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

SQL Server超详细使用教程——从安装到编写SQL语句_sqlserver在哪里写sql语句-程序员宅基地

文章浏览阅读10w+次,点赞762次,收藏4.7k次。到微软官网下载SQL Server Developer版本,现在的最新版本是SQL Server 2019 Developer。微软官网传送门:点击此处直达下载完成之后,在文件夹中找到刚才下载的文件,双击打开,打开之后的界面如下图所示。我们选择自定义安装,之后再选择要安装的位置,再点击安装,如下图所示点了安装之后会出现如下图所示的界面,我们需要等待它下载安装包,此过程等待的时间可能较长..._sqlserver在哪里写sql语句

浏览器前端 javascript可以获取客户端的信息_浏览器获取客户端基本信息-程序员宅基地

文章浏览阅读1k次。var appName = navigator.appName; //浏览器的正式名称 var appVersion = navigator.appVersion; //浏览器的版本号 var cookieEnabled = navigator.cookieEnabled; // 返回用户浏览器是否启用了..._浏览器获取客户端基本信息

随便推点

css3新增属性有哪些?css3中常用的新增属性-程序员宅基地

文章浏览阅读9k次,点赞2次,收藏31次。**一、css3新增边框属性**1、css3新增属性之border-color:为边框设置多种颜色p {border-style:solid;border-color:#ff0000 #0000ff;} 需要注意:“border-width” 属性如果单独使用的话是不会起作用的。请首先使用 “border-style” 属性来设置边框。2、css3新增属性之border-image:图片边框div {-webkit-border-image:url(border.png) 30 30 r_css3新增属性

ANSYS错误提示:An unknown error occurred during solution. Check the Solver Output on the Solution ...-程序员宅基地

文章浏览阅读1.6w次。An unknown error occurred during solution. Check the Solver Output on the Solution Information object for possible causes._an unknown error occurred during solution. check the solver output on the so

VUE项目里配置eslint less-程序员宅基地

文章浏览阅读1.8k次。VUE项目里配置eslint lessless安装 less 和less-loader ,npm install less less-loader --save**修改webpack.base.config.js文件,配置loader加载依赖,让其支持外部的less,在原来的代码上添加 // 此种方法在控制台中标签样式显示的是style标签样式{ test: /\.less$/, loader: "style-loader!css-loader!less-loader",}_eslint less

SpringSecurity6 | 核心过滤器-程序员宅基地

文章浏览阅读1.4w次,点赞27次,收藏21次。大家好,我是Leo哥,上一节我们通过源码剖析以及图文分析,了解了关于委派筛选器代理和过滤器链代理的原理和作用。这节课我们接着学习SpringSecurity的过滤器,了解SpringSecurity中都有哪些核心过滤器。好了,话不多说让我们开始吧。以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。

面试ASP.NET程序员的笔试题和机试题-程序员宅基地

文章浏览阅读128次。面试 一般会叫你填两个表 1个是你的详细信息表 1个是面试题答卷 两个都要注意反正面是否都有内容不要遗漏,如果考你机试一般也有两种,就是程序连接数据库或一些基本的算法(二分查找,递归等),公司一般都是测试你的基本功是否扎实,如果你基本功好就游刃有余不必紧张! asp.net面试题 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX()..._.net面试机试题

【二、大数据环境篇】001、方法论_方法论semma-程序员宅基地

文章浏览阅读405次。1、官网的文档无论是学习Hadoop的hdfs、hive,还是hbase等,都要非常看重官网的文档。大数据的很多框架,都是Apache的顶级项目,各个组件框架的官网链接都可以从下面的链接进入:Hadoop:http://hadoop.apache.org/Avro: 序列化系统HBase: 分布式数据库Hive: 数据仓库Mahout: 机器学习与数据挖掘库Pig: 并行计算的高级数据..._方法论semma

推荐文章

热门文章

相关标签