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

server/2024/11/13 9:13:46/

摘要: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 类来测试热部署:

    java">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:

    java">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.ppmy.cn/server/112760.html

相关文章

集成电路学习:什么是DMA直接内存访问

DMA&#xff1a;直接内存访问 DMA&#xff0c;全称Direct Memory Access&#xff0c;即直接内存访问&#xff0c;是一种用于在计算机系统中实现数据传输的技术。以下是对DMA的详细解释&#xff1a; 一、DMA定义与原理 DMA技术允许外围设备&#xff08;如磁盘驱动器、网卡…

什么酱酒能收藏几十年?快来打造你的私人酒窖宝藏

如果说有什么能穿越时空&#xff0c;既不失风雅又能保值增值的“液体黄金”&#xff0c;那非白酒莫属了。 要知道&#xff0c;白酒可是个“不老传说”&#xff0c;它没有明确标注的保质期&#xff0c;却悄悄藏着一个最佳饮用期的秘密。 这就像是一场与时间的游戏&#xff1a;早…

828华为云征文|部署内容管理系统 Joomla

828华为云征文&#xff5c;部署内容管理系统 Joomla 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 核心竞争力 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Joomla3.1 Joomla 介绍3.2 Docker 环境搭建3.3 Joomla 部署3.4 J…

【原创教程】电气制图03:EPLAN绘图中图框问题

我们在用EPLAN绘制电气图纸的时候,你有没有遇到过在我们更新项目报表后,目录和其他报表与整个项目的图框不一致的情况,在遇到这样的问题时我们应该怎样解决呢? 如下图所示:图1是我们项目用的图框 图2是我们更新报表后的图框 当我第一次遇到这种情况的时候,我是这样操作的…

伦敦银ATR策略

ATR这个技术指标由J.Welles Wilder发明&#xff0c;‌主要用来衡量伦敦银的价格波动&#xff0c;它虽然‌不能直接反映银价走向及其趋势稳定性&#xff0c;但‌ATR指标价值越高&#xff0c;‌趋势改变的可能性就越高&#xff1b;‌价值越低&#xff0c;‌趋势的移动性就越弱。 …

2. MyBatis有哪些优缺点?

MyBatis 是一种持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射关系。它与传统的 ORM 框架&#xff08;如 Hibernate&#xff09;相比&#xff0c;提供了更大的灵活性和控制力。以下是 MyBatis 的优缺点&#xff1a; 优点 SQL 控制力强&#xff1a; MyBatis 允许…

网站存在Git漏洞-使用GitHack得到网站源代码

以ctfhub靶场为例&#xff0c;git泄漏 首先使用dirsearch扫描 扫描到.git目录存在git泄漏 再使用GitHack下载.git文件 下载完成 &#xff0c;进入GitHack的dict目录 使用PowerShell git log #查看提交日志git config --global --add safe.directory G:/网络安全工具/GitHack …

SQL进阶技巧:如何利用SQL解决趣味赛马问题?| 非等值关联匹配问题

目录 0 问题描述 1 数据准备 2 问题分析 方法一:先分后合思想 方法2:非等值关联匹配 3 小结 0 问题描述 有一张赛马记录表,如下所示: create table RacingResults ( trace_id char(3) not null,race_date date not null, race_nbr int not null,win_name char(30) n…