spring boot 热部署

相信小伙伴们在日常的开发中,调试代码时,免不了经常修改代码,这个时候,为了验证效果,必须要重启 Spring Boot 应用。

频繁地重启应用,导致开发效率降低,加班随之而来。有没有什么办法,能让 Spring Boot 项目热部署呢,从而不用每次都手点。答案是肯定的

第一步:添加 spring-boot-devtools 依赖

Spring Boot 提供了 spring-boot-devtools, 它能在我们修改类或者配置文件后,自动感知,重新启动应用。我们只需要在 pom.xml 文件中,添加下面依赖:

<!-- SpringBoot自带热加载开发工具 --><dependency>     <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-devtools</artifactId>    <optional>true</optional></dependency>

第二步:设置 Idea

由于 Idea 默认是没有开启自动编译功能的,我们还需要做以下设置:

1.单击左上角 File -> Setting -> Build, Execution, Deployment -> compiler, 勾选 Build project automatically:

2.windowns 系统按快捷键 Shift+Ctrl+Alt+/ , 单击 Registry,勾选 compiler.automake.allow.when.app.running

添加完成后,重启应用。为了验证热部署是否集成成功,我们将接口的路径改一下,保存:

package site.exception.springboothello.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * @author explorer* @date 2023/10/06 * @time 13:58 * @discription **/ @RestController public class TestController {     @GetMapping("/hellospringboot")     String hello() {         return "Hello, Spring Boot !";     } }

观察控制台,打印了项目的启动日志,证明 Spring Boot 已经检测到了 class 文件发生了变化,自动重启了。

访问新的接口 /hellospringboot, 看看是否生效?

注意:如果报错,查看spring-boot-devtools版本号是否与sringboot版本号一致。保持一致就行;我一个项目弄好了,另一个怎么都不行。 如果实在不行用下面的方法 

第二种方法:

修改服务器配置,使得IDEA窗口失去焦点时,更新类和资源
菜单Run -> EditConfiguration , 然后配置指定服务器下,右侧server标签下on frame deactivation = Update classes and resource。

优点:简单

缺点:基于JVM提供的热加载仅支持方法块内代码修改,只有debug模式下,并且是在idea失去焦点时才会出发热加载

热部署
热部署修改代码后,需要重启服务器,才能加载更改的java代码。(本处,可以让java代码和非java代码,都生效,但必须重启服务)

 

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

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

相关文章

UEC++ day8

伤害系统 给敌人创建血条 首先添加一个UI界面用来显示敌人血条设置背景图像为黑色半透明 填充颜色 给敌人类添加两种状态表示血量与最大血量&#xff0c;添加一个UWidegtComponet组件与UProgressBar组件 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "Enemy …

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题&#xff0c;后端返回异常&#xff0c;但是浏览器状态码200&#xff0c;但是看不到结果。经过排查发现&#xff0c;我们在返回结果的时候使用了json_encode返回给前端&#xff0c;结果里面的字符编码异常&#xff0c;导致json_encode异常&#xff0c;但是php…

禁止linux shell 终端显示完整工作路径,如何让linux bash终端不显示当前工作路径

在操作linux时&#xff0c;默认安装的linux终端会显示当前完整的工作目录&#xff0c;如果目录比较短还是可以接收&#xff0c;如果目录比较长&#xff0c;就显得比较别扭&#xff0c;操作起来不方便&#xff0c;因此需要关闭这种功能。 要关闭这个功能&#xff0c;请按如下步骤…

生命周期评估(LCA)与SimaPro碳足迹分析

SimaPro提供最新的科学方法和数据库以及丰富的数据&#xff0c;使您可以收集和评估产品和流程的环境绩效。通过这种方式&#xff0c;您可以将改变公司产品生命周期的想法提交给您的同事&#xff0c;以便阐明您的业务未来。 SimaPro软件的特点和功能&#xff1a; 完全控制产品生…

供应链和物流的自动化新时代

今天&#xff0c;当大多数人想到物流自动化时&#xff0c;他们会想到设备。机器人、无人机和自主卡车运输在大家的谈话中占主导地位。全自动化仓库的视频在网上流传&#xff0c;新闻主播们为就业问题绞尽脑汁。这种炒作是不完整的&#xff0c;它错过了供应链和物流公司的机会。…

基于安卓android微信小程序的刷题系统

项目介绍 面试刷题系统的开发过程中&#xff0c;采用B / S架构&#xff0c;主要使用jsp技术进行开发&#xff0c;中间件服务器是Tomcat服务器&#xff0c;使用Mysql数据库和Eclipse开发环境。该面试刷题系统包括会员、答题录入员和管理员。其主要功能包括管理员&#xff1a;个…

selenium 简单案例 <批量下载文件> <网页自动化点击上报>

一、批量下载文件 网页分析 点击跳转到下载页面 from selenium import webdriver import timedef get_link_list():# 创建浏览器对象driver webdriver.Chrome(executable_pathrC:\Users\nlp_1\Desktop\chromedriver\chromedriver-win32\chromedriver.exe)url https://www…

几款Java源码扫描工具(FindBugs、PMD、SonarQube、Fortify、WebInspect)

说明 有几个常用的Java源码扫描工具可以帮助您进行源代码分析和检查。以下是其中一些工具&#xff1a; FindBugs&#xff1a;FindBugs是一个静态分析工具&#xff0c;用于查找Java代码中的潜在缺陷和错误。它可以检测出空指针引用、资源未关闭、不良的代码实践等问题。FindBu…

从Github登录的双因子验证到基于时间戳的一次性密码:2FA、OTP与TOTP

Github于2023-03-09推出一项提高软件安全标准的措施&#xff0c;所有在Github上贡献过代码的开发人员在年底前必须完成 2FA&#xff08;Two-factory authentication&#xff0c;双因子认证&#xff09;。初听此事之时&#xff0c;不以为意&#xff0c;因为自己之前就知道双因子…

再探MDG cloud-ready模式!看未来MDG的发展路线

紧跟上一篇博客&#xff0c;我们将更加深入探讨一些MDG Cloud-Ready模式的相关内容。 背景 在2021年9月&#xff0c;Harald Kuck&#xff0c;SAP ABAP Platform老大&#xff0c;介绍了未来ABAP的发展路线&#xff0c;并最终在一年后正式推出了ABAP Cloud。他在会上是这么说的…

担忧CentOS停服?KeyarchOS系统来支撑

担忧CentOS停服&#xff1f;KeyarchOS系统来支撑 近年发生的“微软黑屏门”、“微软操作系统停更”等安全事件&#xff0c;敲响了我国 IT 产业的警钟&#xff0c;建立由我国主导的 IT 产业生态尤为迫切。对此&#xff0c;我国信息技术应用创新行业乘势而起&#xff0c;旨在通过…

基于单片机的光伏发电并网系统设计(论文+源码)

1.系统设计 片作为主控制器。由于太阳能板本身的能量输出受到负载影响&#xff0c;因此需要在太阳能板后面加入一级DC/DC电路&#xff0c;来实现最大功率跟踪&#xff0c;以提高整个系统的效率。接着&#xff0c;由于光伏逆变器需要产生220V的交流电给居民使用&#xff0c;因此…

子虔与罗克韦尔自动化合作 进博会签约自动化净零智造联创中心

11月6日进博会现场&#xff0c;漕河泾罗克韦尔自动化净零智造联创中心合作协议签约暨合作伙伴&#xff08;第一批&#xff09;授牌仪式举办&#xff0c;子虔科技作为联创中心合作伙伴签约&#xff0c;携手共建智能制造&#xff0c;引领行业可持续发展。 图示&#xff1a;子虔科…

BMS基础知识:BMS基本功能,铅酸和锂电池工作原理,电池系统的重要概念!

笔者有话说&#xff1a; 作为BMS从业者来讲&#xff0c;目前接触的BMS系统并不是很高大尚&#xff0c;但基础功能都是有的。 关于BMS的基本功能&#xff0c;工作原理&#xff0c;运行逻辑等&#xff0c;在此做一个梳理&#xff0c;讲一些最基础的扫盲知识&#xff0c;可以作为…

计算机网络:数据链路层

0 本节主要内容 问题描述 解决思路 1 问题描述 数据链路层主要面临四个问题&#xff1a; 封装成帧&#xff1b;透明传输&#xff1b;差错检测&#xff1b;实现相邻节点之间的可靠通信。 1.1 子问题1&#xff1a;封装成帧 怎么知道数据从哪里开始&#xff1f;到哪里结束&a…

校园圈子论坛,交友,帖子内短视频,二手市场,APP小程序H5三端交付,源码交付,支持二开

校园圈子论坛&#xff0c;交友频道&#xff0c;商城&#xff0c;二手市场&#xff0c;活动专区&#xff0c;短视频&#xff0c;从校园生活的方方面面展现出了充满活力和创造力的镜头。这个频道是一个让学生们相互交流、结识新朋友的平台&#xff0c;不仅有交友功能&#xff0c;…

如何使用无代码系统搭建软件平台?有哪些开源无代码开发平台?

无代码是什么 无代码开发&#xff0c;也称为零代码&#xff08;Zero Code&#xff09;开发&#xff0c;是一种技术概念。无代码开发无需代码基础&#xff0c;适合业务人员、IT开发及其他各类人员使用。他们通过无代码开发平台快速构建应用&#xff0c;并适应各种需求变化&#…

抖音汽车租赁小程序技术指南:开发高效便捷的租赁系统

为了更好地满足用户需求&#xff0c;抖音汽车租赁小程序成为一个备受关注的技术解决方案。本文将深入探讨开发高效便捷的汽车租赁系统所需的技术要点&#xff0c;为开发者提供一份实用的技术指南。 小程序架构选择 在搭建抖音汽车租赁小程序时&#xff0c;选择合适的小程序架构…

Arthas 监听 Docker 部署的java项目CPU占比高的信息

1、Linux上安装Arthas wget https://alibaba.github.io/arthas/arthas-boot.jar2、docker ps 查看目标项目的容器ID 3、copy Arthas 到目标容器中 (注意有 &#x1f615; ) docker cp arthas-boot.jar d97e8666666:/4、进入到目标容器目录中 docker exec -it d97e8666666 /b…

根据商品链接获取拼多多商品详情数据接口|拼多多商品详情价格数据接口|拼多多API接口

拼多多&#xff0c;作为中国最大的社交电商之一&#xff0c;为卖家提供了丰富的商品详情接口。这些接口可以帮助卖家快速获取商品信息&#xff0c;提高销售效率。本文将详细介绍如何使用拼多多商品详情接口&#xff0c;以及它的优势和注意事项。 一、拼多多商品详情接口概述 …