Spring Boot devtool的使用

Spring Boot为我们提供了一个便捷的开发Spring Boot应用程序的环境,同时为了方便我们的开发Spring Boot应用程序,Spring Boot 推出了Spring Boot devtool的工具来方便我们更加快速的开发和测试Spring Boot应用程序。

我们将会从下面几个方面来详细讲解Spring Boot devtool的功能。

添加Spring Boot devtool依赖

添加Spring Boot devtool依赖很简单:

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

这样就添加好了,我们可以开始使用Spring boot devtool带给我们的优秀功能了。

默认属性

Spring Boot为我们提供了很多自动配置来提高我们开发的效率,比如会缓存模板引擎例如thymeleaf, 但是如果我们在开发过程汇中可能需要快速的看到修改的结果,这个时候我们就不需要这个缓存配置了,这时候我们就需要配置:

spring.thymeleaf.cache=false

如果添加了spring-boot-devtools, 上述的配置就不需要手动添加,devtool会自动帮我们添加好。

自动重启

在开发过程中,如果我们修改了某些java文件,我们可能需要重启下项目来观看修改后的结果,如果使用spring-boot-devtools,当classpath中有文件变动时候,devtools会自动帮你重启服务器。

注意,这里的重启的条件是classpath的文件要有变化,如果你在使用IDEA开发的话,请勾选“Build project automatically” 选项,如下图示所示,否则你需要重新build项目来使重启生效。

Live Reload

Live Reload主要针对资源文件的,我们的APP启动之后,可以看到一个:

o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729

当资源文件变动的时候,方便前端刷新。

如果要用到这个live reload的功能,需要在chrome浏览器中安装一个Remote Live Reload 的插件。

这个插件主要是通过引入的脚本livereload.js在 livereload 服务和浏览器之间建立了一个 WebSocket 连接。每当监测到文件的变动,livereload 服务就会向浏览器发送一个信号,浏览器收到信号后就刷新页面,实现了实时刷新的效果。

全局配置

spring-boot-devtools 提供了一个全局配置文件,方便你的开发环境配置,该文件在$HOME 目录下面的 .spring-boot-devtools.properties 。

本文的例子可以参考 https://github.com/ddean2009/learn-springboot2/tree/master/springboot-devtool

更多教程请参考 flydean的博客

Spring Boot devtool的使用的更多相关文章

  1. spring boot: 热部署spring-boot-devtools

    spring boot: 热部署spring-boot-devtools 1引入spring-boot-devtools依赖包 <!-- spring boot devtools 热部署 --& ...

  2. spring boot热部署pom.xml配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  3. Spring boot之JPA

    JPA 步骤: (1)在pom.xml添加mysql,spring-data-jpa依赖 (2)在application.properties文件中配置mysql连接配置文件 (3)在applicat ...

  4. Spring boot之热部署

    springboot热部署 1.springloaded(热部署) 2.devtools(热部署) 一.springloaded 问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了, ...

  5. 使用eclipse,对spring boot 进行springloader或者devtool热部署失败处理方法

    确定配置进行依赖和配置没有错误后. 调整spring boot 的版本,因为新版本对老版本的spring boot 不能使用. 改为: <groupId>org.springframewo ...

  6. [转] Spring Boot and React hot loader

    When I develop web applications, I love using React. I'm also a Spring and groovy addict. Those two ...

  7. Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率)

    我个人是比较不喜欢去正儿八经的比较两个框架的,这样没有意义,不过欲善其事先利其器! 技术是相通的,但是在某个特定的领域的某个阶段肯定有相对最适合的一个工具! 这里比较不是从技术角度比较,而是从公司技术 ...

  8. 程序配置的原则和实践以及 Spring Boot 支持方式

    原则 软件需要在不同的环境中部署,代码是保持不变的,但是不同的运行环境存在差异,所以需要使用配置适应不同的环境.比如: 数据库,Redis,以及其他 后端服务 的配置: 第三方服务的证书,如 oAut ...

  9. spring boot面试问题集锦

    译文作者:david  原文链接:https://www.javainuse.com/spring/SpringBootInterviewQuestions Q: 什么是spring boot? A: ...

随机推荐

  1. 听说你还搞不定java中的==和equals?

    相信很多读者关于==和equals懂了又懵,懵了又懂,如此循环,事实上可能是因为看到的博客文章之类的太多了,长篇大论,加上一段时间的洗礼之后就迷路了.本篇文章再一次理清楚.当然如果觉得本文太啰嗦的话, ...

  2. Python学习笔记:函数详解(下)

    本文介绍:高阶函数,嵌套函数,以及由前面两个组成的装饰器 一.高阶函数:以下两种情况都是高阶函数   1.将函数名当成参数传递给另外一个函数(作用:不修改被传递函数源代码就可以添加新功能): impo ...

  3. D 【BJOI2018】求和

    时间限制 : 20000 MS   空间限制 : 565536 KB 评测说明 : 2s,512m 问题描述 master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径 ...

  4. jq日历一周为单位轮播

    简单效果图: 代码如下: <!doctype html> <html lang="en"> <head> <meta charset=&q ...

  5. .NET Core项目部署到Linux(Centos7)(三)创建.NET Core API项目

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  6. Shell:Day09-2.笔记

    4.模式匹配(地址定界)  1.空值,没有定义,默认就将文件中所有的行,放入awk进行循环  2.对固定的 1,3 行进行操作  sed -n '1,3p' /etc/passwd  awk '1,3 ...

  7. Linux基础篇,正则表达式

    一.正则表达式特殊符号: 二.grep的用法 grep [-A|B|a|c|i|n|v] [--color=auto] '搜索字串' filename -A ===> after缩写,后面接数字 ...

  8. Linux 权限管理篇(一)

    可读        r 可写        w 可执行        x 档案属性: 第一栏:执行list -al后第一栏的十个标志[1 - 10] 1: d    目录 -    档案 l    连 ...

  9. 29.1 collection层次结构 中的根接口

    /* * Collection * boolean add(E e) * void clear() * boolean contains(Object o) * boolean isEmpty() * ...

  10. 24 接口 Interface

    /** Java语言的继承是单一继承,一个子类只能有一个父类(一个儿子只能有一个亲爹)* Java语言给我们提供了一种机制,用于处理继承单一的局限性的,接口* 接口:接口是一个比抽象类还抽象的类,接口 ...