Spring Boot 配置热部署

前言

对于 Spring Boot 项目之中, 在刚开始学习的时候, 每当代码进行变动的时候, 想要生效那就必须要手动重启. 为什么要重启呢 ? 原因在于写的代码是依靠运行之后的 class 文件运行的, 当我们的代码更新以后, 如果不去手动重启, 那么就无法生成新的 class 文件, 执行的就是旧的 class 文件, 因此新增的代码是无法生效的.频繁的重启带来了繁琐的操作. 为了解决这一问题, Spring Boot 引入了热部署

一. 引入依赖
在配置文件之中需要引入依赖, 或者在创建 Spring Boot 项目时, 就添加起步依赖

<-- 引入热部署依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional>
</dependency>

添加起步依赖

二. 修改设置
2.1 修改当前项目设置
如果当前项目需要配置热部署

  • 选择当前项目设置


 

  • 配置自动编译

  • 允许运行中自动生成启动

2.2 修改新项目配置
上面我们只是配置了当前项目开启了热部署, 而新建项目之后, 还是需要重新配置的. 如果想要一劳永逸, 那么就需要在新项目设置中在配置一次, 步骤和之前配置热部署是一样的, 只不过是在新项目设置之中

  • 选择新建项目设置

  • 配置自动编译

PS : 对于新项目设置配置热部署时, 是没有第二步 Advanced Setting ( 高级设置 ) 里设置开启自动编译的. 只需要完成上面一步就可以了.


三. 启动热部署
配置好热部署后, 怎么用呢 ? 和咱们手动启动是一样的, 但后续就不需要手动重启了, 当我们更改代码后, 稍等几秒就会检测到代码以及改动从而自动更新编译启动项目并且会有启动提示.

启动后, 能看到在进行修改以后, 等待几秒就可以看到它自动进行重启了, 这就代表热部署成功了 ! !

接下来就能解放频繁重启项目了, 但是热部署会有一点鸡肋的感觉, 因为通常等待时间和自己手动重启差不多, 甚至会慢, 但是大家还是要知道有热部署这个功能 ! 

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

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

相关文章

C#关键字学习

前言 记录C#编程中用到的关键字&#xff0c;对关键字的用途进行解释、记录、学习。会持续更新。 1. volatile 在C#中&#xff0c;volatile关键字用于声明一个字段&#xff08;通常是一个共享的字段&#xff09;是易变的&#xff0c;即每次访问该字段时&#xff0c;都要从内存…

蓝桥杯物联网竞赛_STM32L071_11_知识体系的查漏与补缺

太久没学单片机了&#xff0c;再重新过一遍查漏补缺&#xff0c;对其中之前没怎么在意的&#xff0c;而现在又发觉的问题进行再分析与补充 1. debug serial wire是干什么用的 这个东西我勾选不勾选都对我的程序没有什么影响&#xff0c;我很好奇是干什么用的&#xff0c;网上查…

vue3+elementPlus:el-table-column表格列动态设置单元格颜色

:cell-style属性 //html<el-tableempty-text"暂无数据":data"datalist.table":max-height"height"row-key"id"border:cell-style"cellStyle"> <el-table>//js //动态设置单元格颜色 const cellStyle ({ row, c…

Java后台面试相关知识点解析

文章目录 JavaJava中四种引用类型及使用场景集合HashMap源码及扩容策略HashMap死循环问题ConcurrentHashMap与HashtableConCurrentHashMap 1.8 相比 1.7 判断单链表是否有环&#xff0c;并且找出环的入口IO线程池线程池的几种创建方式判断线程是否可以回收线程池的7大核心参数线…

Golang 常用的时间转换

1、获取 Y-m-d H:i:s 格式的当前时间 t : time.Now().Format(time.DateTime) 2、获取当前时间戳 currentTime : time.Now() timestamp : currentTime.Unix() // 获取秒级时间戳 3、Y-m-d H:i:s 格式转时间戳 timeStr : "2023-09-01 12:00:00" t, err : time.Par…

matlab 仿真IIR低通滤波器,显示滤波前后的波形和频谱

figure fs500;%采样率 f130;%信号频率 f270;%信号频率 f3 100;%信号频率 f4 150;%信号频率 T2;%时宽2s nround(T*fs);%采样点个数 tlinspace(0,T,n);%时域横坐标 x sin(2*pi*f1*t) sin(2*pi*f2*t) sin(2*pi*f3*t) 2*cos(2*pi*f4*t); subplot(221); plot(t,x);%画时域图 xl…

【MySQL】lower_case_table_names作用及使用

知识点&#xff1a; lower_case_table_names 是mysql设置大小写是否敏感的一个参数。 场景&#xff1a;在使用dataease时&#xff0c;连接外部数据库&#xff0c;启动报错&#xff01;后查看官方文档&#xff0c;特别要求改数据库配置文件&#xff1a;lower_case_table_names …

Mybatis从入门到CRUD到分页到日志到Lombok到动态SQL再到缓存

Mybatis 入门 1.导入maven依赖 <dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>x.x.x</version> </dependency>2.配置核心文件 <?xml version"1.0" encoding"U…

【MySQL知识体系】第1章 初始 MySQL

文章目录 第1章 初始 MySQL1.1 MySQL 介绍1.1.1 什么是 MySQL&#xff1f;1.1.2 MySQL 的特点&#xff1f;1.1.3 MySQL 默认端口&#xff1f; 1.2 安装 MySQL1.2.1在MacOS上安装MySQL1.2.2 在Windows上安装MySQL 1.3 如何选择 MySQL 客户端1.3.1 在MacOS上安装Workbench1.3.2 在…

【吊打面试官系列】Java虚拟机JVM篇 - 三道最简单最常问的JVM面试题

大家好&#xff0c;我是锋哥。今天分享三道最简单最常问的JVM面试题&#xff0c;希望对大家有帮助&#xff1b; 一&#xff0c;请问JDK与JVM有什么区别&#xff1f; 简单来说&#xff1a; 1. JVMJava 运行器&#xff1b; 2. JREJVM Java 基础&核心类库&#xff1b; 3. JD…

【贪心算法】专题练习二

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb;买卖股票的最佳时机&#x1f449;&…

吴恩达深度学习笔记:神经网络的编程基础2.1-2.3

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第二周&#xff1a;神经网络的编程基础 (Basics of Neural Network programming)2.1 二分类(Binary Classification)2.2 逻辑回归(Logistic Regression) 第一门课&#xff1a;神经网络和深度学…

【机器学习】详解正则化思想

我们的生活当中真正有意义或者有价值的部分可以概括为两句话&#xff1a;一句话是&#xff1a;弄清楚某个东西是怎么一回事&#xff0c;另一句话是&#xff0c;弄清楚某个东西是怎么一回事。头一句话&#xff0c;我们弄清楚的那个东西对于我们而言是未知的&#xff0c;但是已经…

【数据结构】二、线性表:4.循环链表的定义及其基本操作(循环单链表,循环双链表的初始化、判空、判断头结点、尾结点、插入、删除)

文章目录 4.循环链表4.1循环单链表4.1.1初始化4.1.2判断单链表是否为空4.1.3判断p结点是否为循环单链表的表尾结点 4.2循环双链表4.2.1初始化4.2.2判断循环链表是否为空4.2.3判断结点p是否为循环双链表的表尾结点4.2.4双链表的插入4.2.5双链表的删除 4.循环链表 4.1循环单链表…

Android自定义横向滑动菜单的实现

本文讲述了Android自定义横向滑动菜单的实现。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 前言 开发安卓过程中&#xff0c;经常会用到标题栏的样式&#xff0c;有时候传统方式不能满足开发者的需要&#xff0c;这时候就需要自定义控件来实现。&#xff08;注意&…

ubuntu开机提示:F2=setup,F12=Boot Menu

开机提示:F2setup,F12Boot Menu-ZOL问答 这应该是没有找到系统启动文件&#xff0c;导致让你选择setup&#xff08;安装系统&#xff09;和BOOT MENU&#xff08;选择启动位置&#xff09;。 可能是硬盘没有接稳妥&#xff0c;也可能是系统文件丢失&#xff01; 建议重装一下系…

Mac版2024 CleanMyMac X 4.14.6 核心功能详解以及永久下载和激活入口

CleanMyMac 是 macOS 上久负盛名的系统清理工具&#xff0c;2018 年&#xff0c;里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化&#xff0c;焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能&#xff0c;使得在日常使用 macOS 时有了…

短视频矩阵系统----矩阵系统源码搭建(技术门槛?)

短视频矩阵是什么意思&#xff1f;短视频矩阵的含义可以理解为全方位的短视频账号&#xff0c;通过不同的账号实现全方位的品牌展示。实际上是指一个短视频账号&#xff0c;通过不同的链接实现品牌展示&#xff0c;在不同的粉丝流量账号中互相转发同一个品牌&#xff0c;在主账…

Angular 项目的架构设计

Angular 项目的架构设计可以考虑以下几个方面&#xff1a; 模块划分&#xff1a;根据功能将项目划分为多个模块&#xff0c;每个模块负责特定的功能或业务逻辑。组件设计&#xff1a;使用 Angular 的组件化思想&#xff0c;将页面拆分成多个可复用的组件&#xff0c;提高代码的…

为什么电容器放电电阻器现在被强制要求作为基本安全装置

在电子产品中&#xff0c;电容器放电电阻器或泄放电阻器是与高压电源电路的输出并联的电阻器&#xff0c;其明确目的是释放存储在电源滤波电容器中的剩余电荷。 例如&#xff0c;开关模式电源使用桥式整流器将交流市电转换为 320V&#xff08;市电电压为 220/240V&#xff09;或…