SpringBoot依赖之Spring Boot DevTools热部署开发增效工具

摘要:Spring项目又大又重,依赖多,编译启动慢,怎么提高研发效率呢?方法之一==热部署==!

概念

Spring Boot DevTools
  • 依赖名称: Spring Boot DevTools
  • 功能描述: Provides fast application restarts, LiveReload, and configurations for enhanced development experience.
  • 中文释义:提供快速应用程序重启、LiveReload 和配置,以增强开发体验。

要在 IntelliJ IDEA 中创建一个 Spring Boot 项目,并集成 Spring Boot DevTools 实现热部署,您可以按照以下步骤操作。Spring Boot DevTools 可以在开发时自动重新加载应用程序,从而提高开发效率。

1. 创建 Spring Boot 项目

  1. 打开 IntelliJ IDEA

  2. 新建项目并添加添加 Spring Boot DevTools 依赖

  3. 打开 pom.xml 文件。

  4. <dependencies> 部分,添加以下依赖:

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

    或者,如果您使用的是 Gradle,请在 build.gradle 文件中添加:

    dependencies {developmentOnly 'org.springframework.boot:spring-boot-devtools'
    }
    
  5. 刷新 Maven/Gradle 项目以确保依赖下载并生效。

2. 配置 IntelliJ IDEA 支持热部署

  1. 启用自动编译

    • 打开 File -> Settings -> Build, Execution, Deployment -> Compiler -> Build project automatically
    • 确保勾选 Build project automatically
      在这里插入图片描述
  2. 启用热部署

    • 在 Mac 上按下Command + Shift + A 或者按两下shift键,windows上 Ctrl + Shift + A,弹窗出来来后,搜索 Registry关键词。

在这里插入图片描述

  • 搜索并勾选启用 compiler.automake.allow.when.app.running

在这里插入图片描述

3. 编写简单的 Spring Boot 应用

文中涉及的学习代码地址

  1. 创建一个简单的 Controller 类来测试热部署:

    package com.dependencies.springbootdevtools;import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;/*** @author zhizhou   2024/8/29 12:40*/
    @RestController
    public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, I'm ok !";}}
    
  2. 创建主类 SpringBootDevtoolsApplication:

    package com.dependencies.springbootdevtools;import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
    public class SpringBootDevtoolsApplication {public static void main(String[] args) {SpringApplication.run(SpringBootDevtoolsApplication.class, args);}}

4. 运行和测试热部署

  1. 运行SpringBootDevtoolsApplication入口类
  2. 在浏览器中访问 http://localhost:8080/hello,您应该会看到 “Hello, I’m ok !”。
  3. 测试热部署:不需要停止运行的应用程序,直接在 HelloController 中修改返回的字符串为 “Hello, World!”。
  4. 保存文件,然后刷新浏览器,您应该会看到更新后的内容。

5. 总结

通过集成 Spring Boot DevTools,我们可以在开发时自动重新加载应用程序,而无需手动重启。这样可以极大地提高开发效率,尤其是在需要频繁修改代码并查看效果时。

文中涉及的学习代码地址

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

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

相关文章

softmax里边的exp用拟合验证精度。

文章目录 要验证Softmax函数中的指数运算&#xff08;exp函数&#xff09;对精度的影响&#xff0c;可以通过拟合一个函数来近似Softmax函数&#xff0c;并比较两者的输出结果。 import numpy as np import matplotlib.pyplot as plt# Softmax函数 def softmax(x):e_x np.exp…

25k的自动化测试面试题,原来都是这样~

小编热衷于收集整理资源&#xff0c;记录踩坑到爬坑的过程。希望能把自己所学&#xff0c;实际工作中使用的技术、学习方法、心得及踩过的一些坑&#xff0c;记录下来。也希望想做软件测试的你一样&#xff0c;通过我的分享可以少走一些弯路&#xff0c;可以形成一套自己的方法…

AI绘画时代的自媒体引流攻略:如何实现粉丝暴涨与盈利

一、AI绘画在自媒体引流和赚钱中的应用 创作独特视觉内容&#xff0c;吸引粉丝关注 AI绘画技术可以帮助自媒体从业者创作出独一无二的视觉内容&#xff0c;这些内容在社交媒体上具有很高的辨识度和吸引力。通过以下方式&#xff0c;AI绘画助力引流和赚钱&#xff1a; &#xf…

数学基础 -- 线性代数之伴随矩阵

伴随矩阵 1. 代数余子式 首先我们需要理解什么是代数余子式。对于一个 n n n \times n nn 的方阵 A A A&#xff0c;代数余子式 M i j M_{ij} Mij​ 是指从矩阵 A A A 中删除第 i i i 行和第 j j j 列后&#xff0c;剩下的子矩阵的行列式。 假设有一个 3 3 3 \time…

【软件】软件评审

目录 1. 说明2. 设计质量的评审内容3. 程序质量的评审内容3.1 软件结构3.2 功能的通用性3.3 模块的层次3.4 模块结构3.4 处理过程的结构 4. 与运行环境的接口5. 例题5.1 例题1 1. 说明 1.通常&#xff0c;把“质量”理解为“用户满意程度”。为了使得用户满意&#xff0c;有两…

SprinBoot+Vue图书馆预约与占座微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

SpringBoot+Vue实现大文件上传(断点续传-后端控制(一))

SpringBootVue实现大文件上传&#xff08;断点续传&#xff09; 1 环境 SpringBoot 3.2.1&#xff0c;Vue 2&#xff0c;ElementUI&#xff0c;spark-md5 2 问题 在前一篇文章&#xff0c;我们写了通过在前端控制的断点续传&#xff0c;但是有两个问题&#xff0c;第一个问题&…

铁打的程序员轻易“不哭”-我的大模型创业近2年来的感悟

楔子 2022年11月&#xff0c;GPT-3发布那一刻&#xff0c;我被AI的强大能力所震撼&#xff0c;意识到“超级个体”时代的来临。自那时起&#xff0c;我开始全心投入创业&#xff0c;经历了许多苦乐交织的时光。 2023年6月&#xff0c;我尝试将AI应用于智能营销导购&#xff0…

云原生架构概念

云原生架构概念 云原生架构&#xff08;Cloud Native Architechtrue&#xff09;作为一种现代软件开发的革新力量&#xff0c;正在逐渐改变企业构建、部署和管理应用程序的方式。它的核心优势在于支持微服务架构&#xff0c;使得应用程序能够分解为独立、松耦合的服务&#xf…

window系统怎么设置闹钟提醒?分享一个桌面提醒设置办法

在日常工作和生活中&#xff0c;我们常常会因忙碌而遗忘一些重要事项。对于很多使用电脑办公的用户来说&#xff0c;如果能在桌面上设置闹钟提醒&#xff0c;无疑会大大提高工作效率&#xff0c;减少遗漏。那么&#xff0c;如何设置这样的闹钟提醒呢&#xff1f; 这时&#xf…

ElementUI实现el-table组件的合并行功能

前言 有时遇到一些需求&#xff0c;需要实现ElementUI中&#xff0c;el-tabled组件合并单元格的功能&#xff0c;稍微了解一下它的数据格式&#xff0c;不难可以写出比合并方法。但是在鼠标经过单元行时&#xff0c;会出现高亮的行与鼠标经过的行不一致的BUG。因此还需要实现c…

UniApp 中页面跳转的方法及传值

一、UniApp 中页面跳转的方法及特点 &#xff08;一&#xff09;常见的页面跳转方法 uni.navigateTo&#xff1a; 用途&#xff1a;用于跳转到应用内的某个页面&#xff0c;非 tabBar 页面&#xff0c;它会保留当前页面&#xff0c;打开新的页面并推入页面栈中。特点&#xf…

8月刷题笔记

刷题笔记—8月 LCP40.心算挑战(贪心、排序) class Solution { public:int maxmiumScore(vector<int>& cards, int cnt) {//24.8.1ranges::sort(cards, greater()); //从大到小排序int s reduce(cards.begin(), cards.begin()cnt, 0);if(s%2 0) return s;auto rep…

无线麦克风哪个牌子的好,麦克风哪个好,无线麦克风品牌推荐

​在自媒体日益繁荣的当下&#xff0c;内容创作成为了许多人追求的目标。对于视频内容创作者而言&#xff0c;出色的内容是成功的基石&#xff0c;而高质量的设备则是保证作品品质的关键。为了提升视频音质&#xff0c;拥有一款专业的无线麦克风是不可或缺的。 然而&#xff0…

PHP智能匹配轻松预订自习室在线订座系统小程序源码

智能匹配&#xff0c;轻松预订——自习室在线订座系统 &#x1f4da;【开篇&#xff1a;告别排队&#xff0c;迎接智能学习新时代】&#x1f4da; 还在为找不到合适的自习室座位而烦恼吗&#xff1f;是不是每次去图书馆或自习室都要提前好久去排队占位&#xff1f;现在&#…

Python教程:面向对象

模块3&#xff1a;Python高级 模块概述 本课程旨在介绍Python编程语言中的面向对象编程&#xff08;OOP&#xff09;概念和技术。学生将学习如何使用类、对象、继承、多态等OOP的关键要素来构建灵活、可重用和可扩展的代码。通过实际编程练习和项目&#xff0c;学生将提高他们…

太速科技-1路万兆光纤SFP+和1路千兆网络 FMC子卡模块

1路万兆光纤SFP和1路千兆网络 FMC子卡模块 一、概述 该板卡是基于kc705和ml605的fmc 10g万兆光纤扩展板设计&#xff0c;提供了1路万兆光纤SFP和1路千兆网络接口。可搭配我公司开发的FPGA载卡使用。载卡可参考&#xff1a;ID204 SFP&#xff08;10 Gigabit Small…

AWS-亚马逊网络服务(基础服务)-AWS 定价计算器-概述与动手部署:

让我们来概述并亲身实践如何使用 AWS 定价计算器来计算 概述&#xff1a; AWS 定价计算器是 Amazon Web Services (AWS) 提供的基于 Web 的工具&#xff0c;可帮助用户估算其特定用例的 AWS 服务成本。欢迎来到雲闪世界。 它允许客户建模他们的基础设施并根据他们打算使用的…

Android 9.0 增加interface audio接口,解决编译报错

最近修改Android接口&#xff0c;报了一个VNDK的错误 我总结了如下几种方式&#xff1a; 1、直接关闭&#xff08;不推荐&#xff09;&#xff1a; 在BoardConfig.mk中加入如下两行&#xff0c;可以在编译的时候不去check VNDK&#xff0c;关掉这个可能会导致XTS某些测项跑不…

Burp Suite Professional 2024.8 for macOS x64 ARM64 - 领先的 Web 渗透测试软件

Burp Suite Professional 2024.8 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件 世界排名第一的 Web 渗透测试工具包 请访问原文链接&#xff1a;https://sysin.org/blog/burp-suite-pro-mac/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页…