当前位置: 首页 > news >正文

IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载

IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载
在 IntelliJ IDEA 2023.3 中配置 Spring Boot 项目的热加载,可以让你在不重启应用的情况下看到代码修改的效果。以下是详细的配置步骤:

  1. 添加 spring-boot-devtools 依赖
在 pom.xml 文件中添加 spring-boot-devtools 依赖:
xml
复制
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional>
</dependency>
  1. 配置 application.yml 或 application.properties
在 application.yml 或 application.properties 文件中配置热加载:
application.yml:
yaml
复制
spring:devtools:restart:enabled: true  # 设置开启热部署additional-paths: src/main/java  # 重启目录exclude: static/**,public/**  # 排除文件(不重启项目)freemarker:cache: false  # 页面不加载缓存,修改即时生效
application.properties:
properties
复制
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-paths=src/main/java
spring.devtools.restart.exclude=static/**,public/**
spring.freemarker.cache=false
  1. 配置 IntelliJ IDEA
开启自动编译项目功能:
打开 IntelliJ IDEA,进入 File -> Settings(Windows)或 IntelliJ IDEA -> Preferences(macOS)。
在设置窗口中,选择 Build, Execution, Deployment -> Compiler。
勾选 Build project automatically。
配置 Advanced Settings:
在设置窗口中,选择 Advanced Settings。
勾选 Allow auto-make to start even if developed application is currently running。
  1. 配置 IDEA 启动设置
修改 IDEA 启动设置:
打开 Run -> Edit Configurations。
选择你的 Spring Boot 应用配置。
在 Server 标签下,设置 On frame deactivation 为 Update classes and resources。
  1. 测试热加载
创建一个简单的 Controller:
java
复制
package com.example.demo.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, World!";}
}

启动项目:
使用 Run 或 Debug 方式启动项目。
访问 http://localhost:8080/hello,看到返回 Hello, World!。
修改 Controller:
修改 HelloController 中的返回值为 Hello, Spring Boot!,保存文件。
切换到浏览器,刷新页面,看到返回 Hello, Spring Boot!,说明热加载生效。
注意事项
热加载的限制:
热加载仅支持方法块内代码修改,只有在 debug 模式下才生效,并且是在 IDEA 失去焦点时才会触发热加载。
修改方法签名、参数、增加或减少类的成员、修改配置文件等操作不支持热加载。
IDEA 自动保存:
IDEA 会自动保存文件,但有时可能需要手动保存(Ctrl + S)或使用 Ctrl + F9 重新编译修改的类。

http://www.lryc.cn/news/524748.html

相关文章:

  • Python----Python高级(正则表达式:语法规则,re库)
  • 通过Ukey或者OTP动态口令实现windows安全登录
  • Node.js接收文件分片数据并进行合并处理
  • Lsky-Pro在线图片搭建教程(Docker部署方式)
  • “深入浅出”系列之算法篇:(2)openCV、openMV、openGL
  • AI 新动态:技术突破与应用拓展
  • 从CRUD到高级功能:EF Core在.NET Core中全面应用(三)
  • 【记录】Jenkins版本及JDK关系介绍的官网地址
  • vue3-json-viewer和vue-json-pretty插件使用,vue3 json数据美化展示
  • python转转商超书籍信息爬虫
  • Spring Boot 中的 InitializingBean:Bean 初始化背后的故事
  • 微信小程序:实现单选,多选,通过变量控制单选/多选
  • MOS怎样选型,步骤详解
  • CMake技术细节:解决未定义,提供参数
  • 1688 满足跨境业务需求而提供的一组 API 接口
  • 物联网网关Web服务器--CGI开发实例BMI计算
  • 计算机网络 (51)鉴别
  • 【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko
  • 论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion
  • 探索 Stable-Diffusion-Webui-Forge:更快的AI图像生成体验
  • Redis使用基础
  • PyCharm+RobotFramework框架实现UDS自动化测试- (四)项目实战0x10
  • 【TCP】rfc文档
  • 【SpringCloud】黑马微服务学习笔记
  • 梯度提升决策树树(GBDT)公式推导
  • 【MySQL】表的基本操作
  • 项目中使用的是 FastJSON(com.alibaba:fastjson)JSON库
  • Flutter中PlatformView在鸿蒙中的使用
  • 音频入门(一):音频基础知识与分类的基本流程
  • 规避路由冲突