SpringBoot实战(05):整合devtools实现热部署

SpringBoot实战:整合devtools实现热部署

  • 一、前言
  • 二、整合devtools
    • 1. 添加依赖
    • 2. 添加devtools配置项
    • 3. 设置IDEA
      • I. 开启IDEA的自动编译
      • II. 开启IDEA的自动编译(动态)
  • 四、其他问题
      • 问题描述:js文件在chrome浏览器中存在缓存问题解决方案
      • 解决方案:
  • 五、相关链接

一、前言

实际项目开发过程中,每次修改都需要重启项目,重新部署才能使用,对于较大项目来说,重启是非常消耗时间和精力的(虽然什么都没有干,重启的这段时间只能默默等待)。现在就分享一下SpringBoot中常用的热部署工具devtools。

二、整合devtools

1. 添加依赖

首先我们需要在pom.xml文件中添加依赖。其中optional设置为true,表示当前项目依赖devtools,而依赖当前项目的项目如果项目使用devtools。

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-devtoolsartifactId>
    <optional>trueoptional>
dependency>

2. 添加devtools配置项

添加依赖后,我们需要在application.yaml文件中添加如下配置

spring:
  devtools:
    restart:
      enabled: true  #设置开启热部署
      additional-paths: src/main/java #重启目录
      exclude: WEB-INF/**

3. 设置IDEA

I. 开启IDEA的自动编译

具体步骤:打开顶部工具栏 File -> Settings -> Default Settings -> Build -> Compiler 然后勾选 Build project automatically 。
SpringBoot实战(05):整合devtools实现热部署_第1张图片

II. 开启IDEA的自动编译(动态)

具体步骤:同时按住 Ctrl + Shift + Alt + / 然后进入Registry ,勾选自动编译并调整延时参数。

  1. compiler.automake.allow.when.app.running -> 自动编译
  2. compile.document.save.trigger.delay -> 自动更新文件
    SpringBoot实战(05):整合devtools实现热部署_第2张图片
    通过以上设置,即可在IDEA中实现热部署,简单看了一下,如果有修改,大概一分钟左右会自动重启。

四、其他问题

问题描述:js文件在chrome浏览器中存在缓存问题解决方案

这个问题非常讨厌,每次js文件修改后,使用浏览器打开的时候,发现js内容始终无法生效。无论怎么刷新都没有效果。特别是chrome浏览器。

解决方案:

  1. 按F12键->Network->勾选Disable cache
    SpringBoot实战(05):整合devtools实现热部署_第3张图片
  2. 使用快捷键Ctrl+F5(这种方式刷新比F5刷新的效果要好。因为CTRL+F5为无缓存式刷新,刷新时会清除chrome浏览器中的缓存),此技巧比较好用。

五、相关链接

本人利用闲暇时间写写博客,并在github和gitee里面新建了一个项目,博客的内容是根据平时在写项目代码后的知识点总结。既是对自己的一个总结,也是给大家的一点小小分享,希望大家多多支持!如有问题希望大家多多指教。谢谢!

  • 项目链接:
    Github地址:https://github.com/jieming514/ming.git
    Gitee地址:https://gitee.com/jie_ming514/ming.git

  • 其他博客链接:
    SpringBoot实战(01):创建一个SpringBoot项目
    SpringBoot实战(02):整合jUnit测试框架
    SpringBoot实战(03):全局异常处理ErrorController
    SpringBoot实战(04):整合Logback日志框架

你可能感兴趣的:(SpringBoot)