SpringBoot项目热部署-devtools

news2025/1/15 8:31:43

        DevTools 会使用两个类加载器(一个用于加载不变的类,一个用于加载可能会变化的类),每次重启只重新加载管理变化的类的加载器,因此会快很多

1.导入依赖

<dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-devtools</artifactId>

        <scope>runtime</scope>

        <optional>true</optional>

        <version>3.0.2</version>

</dependency>

  • ​​​​optional 属性表示这个依赖是可选的,设置为 true 意味着其他项目在作为依赖时不会自动传递它。
  • scope 决定了依赖在项目生命周期中的使用范围,runtime 表示该依赖在编译时不会被包含,但在运行时需要加载。这意味着 spring-boot-devtools 只在应用运行时生效,并且不被打包进最终的生产构建

2.allow auto-make

3. compiler 中开启自动构件项目

4.补充知识

Spring Boot DevTools 通过使用 两个类加载器 来加速应用的重启过程:

  1. Base 类加载器(用于加载不变的类):

    • 这个类加载器加载的是那些不会频繁变化的类(例如第三方库的依赖、Spring 框架本身的类等)。
    • 这些类在应用启动时只加载一次,之后不再重新加载。
  2. Restart 类加载器(用于加载可能会变化的类):

    • 这个类加载器负责加载你自己的项目代码,即那些可能会发生变化的类。
    • 当你修改代码并保存时,DevTools 只会销毁并重新加载 Restart 类加载器,而 Base 类加载器 中已经加载的类会被保留,这样无需重新加载整个应用的所有类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2214764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

动态设置placeholder-class.默认搜索图标在中间获取焦点之后再左边

默认状态:placeholder和图标在中间位置 获取焦点&#xff1a;placeholder和图标在左边光标前面位置 动态设置placeholder-class <view class"search"><input type"search" class"select-input" input-align"center" v-model.…

算法题---动态规划

题目展示&#xff1a; 动态规划的题目我们一半分为5个步骤去分析&#xff0c;第一&#xff0c;状态表示&#xff1b;第二&#xff0c;动态转移方程&#xff1b;第三&#xff0c;初始化&#xff1b;第四&#xff0c;填表顺序&#xff1b;第五&#xff0c;返回值。 状态表示 这…

[权威出版|稳定检索]2024年大数据经济与公共管理国际会议(BDEPM 2024)

2024年大数据经济与公共管理国际会议 2024 International Conference on Big Data Economy and Public Management 【1】大会信息 会议名称&#xff1a;2024年大数据经济与公共管理国际会议 会议简称&#xff1a;BDEPM 2024 大会时间&#xff1a;请查看官网 大会地点&#xf…

网络协议原理

文章目录 TCP通信原理TCP与UDP的对比应用层应用层协议 --- tcp协议定制直接传递对象自定义协议现在要解决的问题业务处理 json的使用使用json进行序列化和反序列化操作 总结 TCP通信原理 tcp是面向字节流的 同时他也是面向连接的 所以TCP的服务器编写代码如图所示: 客户端的编…

Scala入门基础(10)高级函数

一.什么是高阶函数 二.map函数 三.foreach函数 四.filter函数 五.flatten函数 正文&#xff1a; 一.什么是高阶函数 高阶函数&#xff1a;是一个特殊的函数&#xff0c;特殊之处在于&#xff1a;它指使用其他函数作为参数或返回值 &#xff08;演示&#xff09; 二.map函…

maven项目打jar包之后如何指定外部配置文件运行java类

在maven项目中,常常会用到一些配置文件,一旦打成jar包之后,想要用外部的配置文件运行,怎么做呢? 一、配置文件config.ini 在maven项目中的src/main/resources目录下存放了一个配置文件config.ini。这个文件是默认的配置文件。 db.url=jdbc:mysql://localhost:3306/qyxx?u…

【JavaScript】LeetCode:66-70

文章目录 66 组合总和67 括号生成68 单词搜索69 分割回文串70 N皇后 66 组合总和 回溯sum&#xff1a;当前组合的数字和。递归终止条件&#xff1a;sum > target。收集结果条件&#xff1a;sum target&#xff0c;找到了满足条件的组合。注意&#xff1a;因为可以重复取数&…

亚洲最具影响力人物颜廷利:心理健康对身体健康的重要影响

在当代社会&#xff0c;面对疾病与痛苦&#xff0c;人们往往在西医与中医之间做出选择。21世纪世界上知名度最高的人物颜廷利教授的精辟见解指出了这两种医学体系的根本差异&#xff1a;西医以其高昂的费用&#xff0c;针对生理上的疾苦提供快速而直接的解决之道&#xff1b;相…

Python应用指南:利用高德地图API获取公交可达圈

参考文章&#xff1a;城市公交可达圈绘制方法&#xff08;一&#xff09; - 知乎 (zhihu.com) 本篇文章我们聚焦于通过公共交通出行方式&#xff08;包括公交、地铁、公交地铁的组合&#xff09;来获取一定时间内可以到达的范围。为了实现这一目标&#xff0c;我们将使用高德地…

在 Android 应用程序中实现与WebSocket 服务器的实时通信

&#x1f604;作者简介&#xff1a; 小曾同学.com,一个致力于测试开发的博主⛽️&#xff0c;主要职责&#xff1a;测试开发、CI/CD 如果文章知识点有错误的地方&#xff0c;还请大家指正&#xff0c;让我们一起学习&#xff0c;一起进步。 &#x1f60a; 座右铭&#xff1a;不…

spring-boot学习(2)

上次学习截止到拦截器 1.构建RESfun服务 PathVariable通过url路径获取url传递过来的信息 2.MyBatisPlus 第三行的mydb要改为自己的数据库名 第四&#xff0c;五行的账号密码改成自己的 MaooerScan告诉项目自己的这个MyBatisPlus是使用在哪里的&#xff0c;包名 实体类的定义…

PL/SQL Developer15和Oracle Instant Client安装配置详细图文教程

一、下载介质 1、Oracle Instant Client Oracle Instant Client Downloads | Oracle 中国 2、PL/SQL DEVELOPER PL/SQL Developer - Allround Automations Free trial - Allround Automations 二、安装介质。 1、安装plsqldev1504x64.msi。 一路默认下一步。 选择输入许可信…

实跑 YOLO V11在 OAK内部运行的效果

哈喽&#xff0c;各位OAK中国的朋友们! 大家好我是张伯生 今天&#xff0c;我想给大家演示一下最新发布的Yolo V11神经网络 下面我将演示的一个程序是&#xff1a;同时在我们的OAK相机上跑Yolo V11和RGB-D&#xff0c;也就是彩色相机和深度图的一个叠加的一个效果 RGB-D和Yo…

java_for循环

基本语法 for 关键字&#xff0c;表示循环控制for 有四要素: (1)循环变量初始化(2)循环条件(3)循环操作(4)循环变量迭代循环操作 , 这里可以有多条语句&#xff0c;也就是我们要循环执行的代码如果 循环操作(语句) 只有一条语句&#xff0c;可以省略 {}, 建议不要省略 流程图 …

电气学习知识点

文章目录 NPN和PNP输出 NPN和PNP输出 NPN和PNP&#xff08;两种不同类型的三极管&#xff09;都是集电极输出。&#xff08;集电极开路输出&#xff09; 下图b:基极、c集电极、e发射极 NPN示意图&#xff08;集电极连接负载 — 正方形&#xff09; NPN的电流流向是从集电极…

Elasticsearch设置 X-Pack认证,设置账号和密码

前言 以下Elasticsearch版本&#xff1a;7.9.3 ES自带的X-Pack密码验证&#xff1a; X-Pack是elasticsearch的一个扩展包&#xff0c;将安全&#xff0c;警告&#xff0c;监视&#xff0c;图形和报告功能捆绑在一个易于安装的软件包中&#xff0c;所以我们想要开启账号密码验证…

Scala入门基础(10.1)高阶函数2

一.reduce 二.reduceLeft-reduceRight 三.flod 四.sorter函数 五.sortWith 一.reduce 作用&#xff1a;reduce是一种集合操作&#xff0c;用于对集合中的元素进行聚合操作&#xff0c;返回一个单一的结果。它通过指定的二元操作(即取两个元素进行操作)对集合中的所有元素进…

力扣刷题-算法基础

hello各位小伙伴们,为了进行算法的学习,小编特意新开一个专题来讲解一些算法题 1.移除元素. - 力扣(LeetCode) 本题大概意思是给定一个数组和一个数val删除与val相同的元素,不要改变剩余元素的顺序,最后返回剩余元素的个数。 我们在这里使用双指针,这里的双指针并不是…

npm 加速,命令行修改国内镜像源【附带国内最新几个镜像】超简约版~

为什么要配置国内镜像源&#xff1f; npm 的官方源服务器在国外&#xff0c;对于国内开发者来说&#xff0c;下载速度可能会比较慢&#xff0c;甚至可能会出现下载失败的情况。而国内的镜像源服务器通常会对官方源的包进行同步&#xff0c;并且在国内部署&#xff0c;这样可以…

使用OneAPI+Ollama+Dify搭建一个兼容OpenAI的API发布及AI应用开发系统(三)Dify的安装及配置

在GitHub中的AI工作流短代码平台中&#xff0c;Dify获星一直名列前茅&#xff0c;目前已达48K星&#xff0c;其工作稳定性也是非常的高&#xff0c;在这里我们介绍一下Dify的安装。 由于Dify的结构非常的复杂&#xff0c;我们这里介绍Docker的方式进行安装&#xff0c;硬件的最…