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>
目录
相关文章
|
23天前
|
监控 Java 应用服务中间件
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 通过简化配置、自动配置和嵌入式服务器等特性,大大简化了 Spring 应用的开发过程。它通过提供一系列 `starter` 依赖和开箱即用的默认配置,使开发者能够更专注于业务逻辑而非繁琐的配置。Spring Boot 的自动配置机制和强大的 Actuator 功能进一步提升了开发效率和应用的可维护性。通过对其源码的分析,可以更深入地理解其内部工作机制,从而更好地利用其特性进行开发。
42 6
|
1月前
|
缓存 安全 Java
Spring Boot 3 集成 Spring Security + JWT
本文详细介绍了如何使用Spring Boot 3和Spring Security集成JWT,实现前后端分离的安全认证概述了从入门到引入数据库,再到使用JWT的完整流程。列举了项目中用到的关键依赖,如MyBatis-Plus、Hutool等。简要提及了系统配置表、部门表、字典表等表结构。使用Hutool-jwt工具类进行JWT校验。配置忽略路径、禁用CSRF、添加JWT校验过滤器等。实现登录接口,返回token等信息。
359 12
|
1月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
83 8
|
2月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
209 5
|
3月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
152 1
SpringBoot入门(7)- 配置热部署devtools工具
|
3月前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
66 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
4月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
157 2
|
4月前
|
前端开发 Java 程序员
springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j
这篇文章是关于如何在Spring Boot项目中集成Swagger2和Knife4j来生成和美化API接口文档的详细教程。
495 1
|
4月前
|
Java Spring
springboot 学习十一:Spring Boot 优雅的集成 Lombok
这篇文章是关于如何在Spring Boot项目中集成Lombok,以简化JavaBean的编写,避免冗余代码,并提供了相关的配置步骤和常用注解的介绍。
198 0
|
4月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
56 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现