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

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.kler.cn/a/515202.html

相关文章:

  • Selenium配合Cookies实现网页免登录
  • Spring Boot整合Thymeleaf、JDBC Template与MyBatis配置详解
  • 数据库事务详解
  • 低代码系统-产品架构案例介绍、明道云(七)
  • 深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能
  • 网络通信---MCU移植LWIP
  • windows安装ES
  • MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
  • selenium获取登录token
  • Android系统开发(一):AOSP 架构全解析:开源拥抱安卓未来
  • postgresql15的停止
  • s/jwt-decode.js?v=534c014e‘ vue3引入jwt-decode报错
  • 电子应用设计方案101:智能家庭AI喝水杯系统设计
  • 群晖部署-Calibreweb
  • Windows系统提示RunDLL PcaWallpaperAppDetect错误修复方法
  • 新浪安卓(Android)开发面试题及参考答案(68道题,9道手撕题)
  • 人工智能学习(二)之Python 科学计算库
  • SSM开发(二) MyBatis两种SQL配置方式及其对比
  • 三篇物联网漏洞挖掘综述
  • 操作无法完成,因为文件已经在Electronic Team Virtual Serial Port Driver Service中打开
  • 软件测试 —— Postman初识
  • 最新-CentOS 7安装1 Panel Linux 服务器运维管理面板
  • JS学习之JavaScript模块化规范进化论
  • “模板”格式化发布新创诗(为《诗意 2 0 2 5》贡献力量)
  • 2024年美赛C题评委文章及O奖论文解读 | AI工具如何影响数学建模?从评委和O奖论文出发-O奖论文做对了什么?
  • 【论文速读】| 评估并提高大语言模型生成的安全攻击探测器的鲁棒性