当前位置: 首页 > article >正文

SpringBoot项目热部署-devtools

        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.kler.cn/a/349023.html

相关文章:

  • QTableView列单元格根据内容调整大小,表头可拖动,设置表头填充满,单元格单选
  • # 执行 rpm -qa | grep qq 查询软件安装情况时报错 数据库损坏 db3 error(-30974)
  • 【Java】单例模式详解与实践
  • Spring Boot异步任务、任务调度与异步请求线程池的使用及原理
  • JAVA基础 day13 多线程
  • 【SQL】深入探索SQL调优:提升数据库性能的全面指南
  • UE5 猎户座漂浮小岛 03 视觉效果 粒子
  • 腾讯云视立方·直播 SDK 个人信息保护规则
  • node.js安装卸载使用
  • MySQL系列—14.锁
  • 让AI像人一样思考和使用工具,reAct机制详解
  • PL/SQL Developer如何连接Oracle数据库(汉化)
  • 基于Spring Boot的医疗病历B2B平台开发策略
  • 深入理解 Django 自定义用户模型
  • 基于matlab的语音信号处理
  • Docker consul注册中心
  • 数据恢复篇:适用于 Windows 操作系统的 5 大数据恢复软件
  • 模态与非模态的对话框
  • 怎么把一段音频的人声和背景音乐分开?
  • 常见大模型架构模式