SpringBoot开发模式自动重启热部署spring-boot-devtools

简介: SpringBoot开发模式自动重启热部署spring-boot-devtools

有几篇不错的文章


https://springframework.guru/spring-boot-developer-tools/

https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools

Triggering a restart

As DevTools monitors classpath resources, the only way to trigger a restart is to update the classpath. The way in which you cause the classpath to be updated depends on the IDE that you are using:


  • In Eclipse, saving a modified file causes the classpath to be updated and triggers a restart.
  • In IntelliJ IDEA, building the project (Build +→+ Build Project) has the same effect.


简而言之就是,不同IDE触发重启方式不一样

  • Eclipse保存文件既可以触发重启
  • IntelliJ IDEA 需要重新构建项目

热部署

1、页面热部署

application.properties文件中配置

spring.thymeleaf.cache=false

2、类文件热部署

spring-boot-devtools

1、添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

实际使用发现,不用配置application.yml也可以实现自动重启

2、修改配置application.yml

spring:
devtools:
restart:
enabled: true

3、将项目设置为自动加载

1、打开设置 勾选 Build project automatically

image.png

2、打开 Maintenance 选择 1.Register

快捷键 (一起按下四个按键)

windows: Ctrl + Shift +Alt + /

Mac : command + shift + option + /

6.png

3、勾选 compiler.automake.allow.when.app.running

image.png

IDEA过一会就会响应变化重启服务,如果想要快速触发,就重新编译


这里分享一份技巧:


保存文件的快捷键是 command + S


设置自动构建后需要等待一会才进行自动构建,这样明显不能等。

可以设置构建文件的快捷键:control + S,此时可以不设置自动构建,修改文件后手动进行构建。

Live Reload

Chrome插件 Live Reload 支持前端页面开发修改文件后自动刷新页面

注意:html、css、js文件同样需要build 到classpath路径下

总结:Spring Boot Live Reload

一、后端

使用依赖, 无需设置

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<!--当前这个项目被继承之后,这个不向下传递-->
<optional>true</optional>
</dependency>

java 代码的修改重启服务

二、前端

配合Chrome浏览器插件 Live Reload,无需设置

前端代码html、js、css文件的修改浏览器自动刷新

参考
SpringBoot热部署自动重启 spring-boot-devtools
            </div>
目录
相关文章
|
Ubuntu 开发工具 计算机视觉
RK3588 RGA 图像操作
RK3588 RGA 图像操作
|
5月前
|
人工智能 自然语言处理 资源调度
魔搭社区模型速递(7.20-7.26)
魔搭ModelScope本期社区进展:1698个模型,216个数据集,103个创新应用, 7 篇内容
359 0
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
377 5
|
Kubernetes 持续交付 容器
在K8S中,镜像的拉取策略有哪些?
在K8S中,镜像的拉取策略有哪些?
|
存储 消息中间件 算法
深度思考:架构师必须掌握的五大类架构设计风格
数据流风格注重数据在组件间的流动,适合处理大量数据。调用返回风格则强调函数或方法的调用与返回,过程清晰明了。独立构件风格让每个构件独立运作,通过接口交互,提升灵活性和可重用性。虚拟机风格则模拟完整系统,实现资源的高效利用。
1011 0
深度思考:架构师必须掌握的五大类架构设计风格
|
安全 搜索推荐 Java
小白如何挖到自己的第一个漏洞
首先声明本篇文章采用的漏洞案例均已上报并且已修复,本篇文章使用案例介绍以及如何进行搜集的方法进行介绍小白如何挖到第一漏洞,旨在帮助白帽子快速度过前期没有实战经历的难题
1102 0
|
Java 关系型数据库 数据库连接
|
6天前
|
数据采集 人工智能 安全