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

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.lryc.cn/news/463042.html

相关文章:

  • 从MySQL到OceanBase离线数据迁移的实践
  • ifconfig 和 ip addr
  • NCCL报错
  • 域7:安全运营 第16章 安全运营管理
  • 研发线上事故风险解读之数据库存储
  • react hooks中在setState后输出state为啥没有变化,如何解决
  • C++设计模式——代理模式
  • docker 复制文件,清除不再使用数据导出以及导出文件系统
  • 【Vue】Vue3.0(十一)Vue 3.0 中 computed 计算属性概念、使用及示例
  • 【第三版 系统集成项目管理工程师】第17章 法律法规和标准规范
  • 安装 LLM 编程工具 cursor
  • Java链式编程的定义、例子、使用方法、实际应用场景、自动装配构造
  • 用 Git Stash 临时保存修改,轻松切换任务!
  • Android 下通过触发 SIGTRAP 信号实现反调试
  • 【MySQL】 表的增删操作
  • 新生入门季 | 学习生物信息分析,如何解决个人电脑算力不足的问题?
  • 20255 - 中医方剂学 - 考研 - 执业
  • 【Vue.js设计与实现】第三篇第9章:渲染器-简单Diff算法-阅读笔记
  • 服务器软件之Tomcat
  • Flutter包管理(三)
  • CGNS资料
  • 论文阅读(十六):Deep Residual Learning for Image Recognition
  • Dubbo 序列化方式
  • 如何替换OCP节点(二):使用 antman脚本 | OceanBase应用实践
  • 15.JVM垃圾收集算法
  • 软件工程:图书管理系统甘特图
  • 视频的编解码格式
  • 网络资源模板--Android Studio 实现简易新闻App
  • LabVIEW提高开发效率技巧----离线调试
  • 6N137S1取反电路图