SpringBoot入门 - 配置热部署devtools工具

什么是Spring Boot DevTools

官网:https://docs.spring.io/spring-boot/reference/using/devtools.html

Spring Boot DevTools 是一个用于提升 Spring Boot 应用开发效率的工具集。它提供了一些功能,使得开发过程更加便捷和高效,包括:

  1. 自动重启:当我们修改代码后,DevTools 会自动重启应用,不需要手动重新启动。
  2. 快速重载:除了重启,DevTools 还允许在某些情况下进行快速重载,使得更新更快。
  3. LiveReload:支持 LiveReload 功能,可以在文件变化时自动刷新浏览器。
  4. 配置优化:在开发环境下,自动配置一些开发所需的设置,例如禁用部分缓存。

什么是热部署和热加载

  • 热部署(Hot Deployment):指的是在不停止应用程序的情况下,将新代码部署到正在运行的应用中。虽然传统的热部署有一定的复杂度和限制,但它的目标是尽可能减少停机时间。
  • 热加载(Hot Reload):是热部署的一种实现,通常指在开发过程中对代码的修改能够立即反映到应用中,而无需重启应用。热加载主要用于前端开发和某些后端框架中,它更强调快速反馈和开发效率。

总结

Spring Boot DevTools 利用热部署和热加载等机制,极大地提高了开发者的工作效率,减少了等待时间,让开发过程更加顺畅。

配置devtools实现热部署

POM配置

添加spring-boot-devtools的依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional> <!-- 可以防止将devtools依赖传递到其他模块中 -->
    </dependency>
</dependencies>

Maven:https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools

在使用 IntelliJ IDEA 开发 Spring Boot 应用时,可以通过以下两种方式配置和使用 Spring Boot DevTools 进行热部署和自动重启:

方式一:手动触发重启

手动编译:可以通过快捷键 Ctrl + F9 进行手动编译,或者使用 Maven 命令 mvn compile 来触发应用的重启。

方式二:自动重启更新设置

  1. 开启自动构建:进入菜单 File -> Settings -> Build, Execution, Deployment -> Compiler,勾选 Make project automatically。
  2. 注册表设置:使用快捷键 Ctrl + Alt + Shift + /,选择 Registry,勾选 compiler.automake.allow.when.app.running。
  3. 新版本设置:在新版本的 IDEA 中,可以在 File -> Settings -> Advanced Settings 中找到相应设置。

application.yml 配置

spring:
  devtools:
    restart:
      enabled: true  # 开启热部署
      additional-paths: src/main/java  # 指定重启监控目录
      exclude: WEB-INF/**  # 排除特定目录
  thymeleaf:
    cache: false  # 关闭 Thymeleaf 模板引擎缓存

使用 LiveReload

  • Spring Boot DevTools 包含嵌入式 LiveReload 服务器,可以在资源更改时自动刷新浏览器。
  • 可从 livereload.com 下载 LiveReload 浏览器扩展,支持 Chrome、Firefox 和 Safari。
  • 如果不想运行 LiveReload 服务器,可以将 spring.devtools.livereload.enabled 属性设置为 false。注意,只有一个 LiveReload 服务器可以同时运行。

注意事项

  • 在启动应用程序之前,请确保没有其他 LiveReload 服务器正在运行。
  • 如果从 IDE 启动多个应用程序,只有第一个应用程序会支持 LiveReload。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无限循环者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值