SpringBoot项目热部署-devtools

news/2024/10/15 13:25:45/

        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.ppmy.cn/news/1539455.html

相关文章

数据库迁移与版本控制:在Python项目中的实践

目录 引言 一、数据库迁移的必要性 二、数据库版本控制的基本原理 三、Alembic简介与实践 四、其他数据库迁移工具与比较 五、数据库迁移的最佳实践 六、结论 引言 在现代软件开发中&#xff0c;数据库扮演着至关重要的角色。无论是存储用户信息、交易记录还是业务数据&…

项目集成工作流,走审批流程,activiti,springboot,集成工作流,业务审批,驳回,会签,流程设计

前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;一套完整并且实际运用在多套项目中的案例&#xff0c;满足日常业务流程审批需求。 项目源码配套文档获取&#xff1a;本文末个人名片直接获取。 一、项目形式 springboot…

尚硅谷rabbitmq2024 集群篇 流式队列 第54节 答疑

二、负载均衡 在文件/etc/haproxy/haproxy.cfg末尾追加: frontend rabbitmq_stream_frontendbind 192.168.200.100:33333mode tcp default_backend rabbitmg_stream_backend backend rabbitmg_stream_backendmode tcp balance roundrobin server rabbitmg1 192.168.200.100:555…

如何用AI两小时上线自己的小程序

ChatGPT这个轰动全球的产品自问世以来&#xff0c;已经过了将近2年的时间&#xff0c;各行各业的精英们如火如荼的将AI能力应用到自己生产的产品中来。 为分担人类的部分工作&#xff0c;AI还具有非常大的想象空间&#xff0c;例如对于一个程序员来说&#xff0c;使用AI生成快…

理解智能合约:区块链在Web3中的运作机制

随着区块链技术的不断发展&#xff0c;“智能合约”这一概念变得越来越重要。智能合约是区块链应用的核心之一&#xff0c;正在推动Web3的发展&#xff0c;为数字世界带来了前所未有的自动化和信任机制。本文将深入探讨智能合约的基本原理、运作机制&#xff0c;以及它在Web3生…

源码编译llama.cpp for windows on arm

源码编译llama.cpp for windows on arm 这里有编译好的&#xff0c;直接下载使用 https://github.com/turingevo/llama.cpp-build/releases 1 先编译openblas for windows on arm 查看我的文章 《源码编译 openblas for windows on arm》 2 启用OpenBlas加速 上一步openb…

Nginx的正向与反向代理

一、Nginx简介 1. 什么是Nginx Nginx&#xff08;发音为“engine-x”&#xff09;是一个高性能的HTTP和反向代理服务器&#xff0c;同时也是一个IMAP/POP3/SMTP代理服务器。Nginx是由俄罗斯的Igor Sysoev&#xff08;伊戈尔赛索耶夫&#xff09;为解决C10k问题&#xff08;即…

Flask 轻松上手:从零开始搭建属于你的Web应用

引言 随着互联网技术的发展&#xff0c;Web应用程序的需求日益增长。对于开发者来说&#xff0c;选择一个合适的框架至关重要。Flask以其简洁的设计、高度的可定制性和对各种扩展的良好支持&#xff0c;成为了很多项目的基础。无论你是初学者还是有经验的开发者&#xff0c;掌…