Devtools 介绍

SpringBoot 提供了热部署的功能,那啥是热部署累?SpringBoot官方是这样说的:只要类路径上的文件发生更改,就会自动重新启动应用程序。在IDE中工作时,这可能是一个有用的功能,因为它为代码更改提供了非常快速的反馈循环。默认情况下,将监视类路径上指向文件夹的任何条目的更改。请注意,某些资源(如静态资产和视图模板)无需重新启动应用程序。

触发重启

由于DevTools监视类路径资源,因此触发重新启动的唯一方法是更新类路径。导致更新类路径的方式取决于您使用的IDE。在Eclipse中,保存修改后的文件会导致更新类路径并触发重新启动。在IntelliJ

IDEA中,构建项目(Build -> Build Project)具有相同的效果。

同时DevTools 还提供了运行远程应用程序功能,其实就是修改本地代码,就能够实时的更新到远程应用中,这样就可以实现本地代码和远程服务器代码联合调试。

使用 DevTools 进行热部署操作

Eclipse 使用SpringBoot DevTools

第一步是引入 spring-boot-devtools 依赖,具体代码如下:

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

然后就完事啦。我们就可以使用了,修改类和页面啥的就不用在重启项目了啊哈。

IntellJ IDEA 使用SpringBoot DevTools

第一步是引入 spring-boot-devtools 依赖,具体代码如下:

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

你可能觉得已经完事了,但是我可以肯定的告诉你 NO NO NO,还需要做一点小小的配置。

第二步 启动自动编译功能。具体操作如下:

File -> Settings -> Build,Execution,Deplyment -> Compiler,选中打勾 Build project automatically。具体操作如下图:





第三步设置程序运行过程中,依然允许自动编译。具体操作如下:

使用快捷键 Shift+Ctrl+Alt+/ ,点击 Registry 选项 ,选中compiler.automake.allow.when.app.running 具体操作如下图:





进行完如上操作后就可以放心的在 IntellJ IDEA 上进行 SpringBoot 项目的开发了,在也不用担心重启的问题啦。

DevTools 常用配置介绍

正常来讲在使用 DevTools 的过程中是不需要进行配置的,如果你需要自定义重启目录和不需要重启的目录等信息的话,SpringBoot 也为我们提供了具体的配置项在 application.properties 中。

常用配置如下:

spring.devtools.restart.log-condition-evaluation-delta=false #禁用日志报告

spring.devtools.restart.exclude=static/,public/ #不需要修改触发重启的文件目录

spring.devtools.restart.additional-exclude #默认配置下还需要在新增的排除目录

spring.devtools.restart.additional-paths=#添加需要监视需改文件后重启的路径

spring.devtools.restart.enabled=true #是否禁用重启

玩转 Springboot 2 之热部署(DevTools)的更多相关文章

  1. 基于Maven的SpringBoot项目实现热部署的两种方式

    转载:http://blog.csdn.net/tengxing007/article/details/72675168 前言 JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省 ...

  2. SpringBoot项目设置热部署

    记录一个SpringBoot 设置热部署(修改项目之后,项目自动重启)实例 POM.XML 文件 <!-- 配置springBoot项目的热部署启动 --> <dependency& ...

  3. 在SpringBoot中使用热部署(DevTools)

    一.简介 有时候我们开发完SpringBoot项目后,启动运行.但是经常发现代码需要反复修改,然后修改部分内容后需要再启动....这样太费时了,热部署就是用来解决这一问题.让你修改完代码后,能自动执行 ...

  4. SpringBoot(十一)_springboot热部署

    在开发中,后台修改了代码就要重新启动服务,很是费劲,现在我们可以让SpringBoot自动编译 热启动就需要用到我们在一开始引入的另外一个组件:devtools.它是 Spring Boot 提供的一 ...

  5. springboot的简单热部署

    最近开始学习使用springboot但springboot项目和之前的ssm等各种框架项目有所不同,本身集成了很多繁琐的东西,但 一些小功能还需自己配置.下面开始配置热部署. 首先当然是导入热部署的依 ...

  6. SpringBoot高级篇Ⅸ --- 热部署与监控管理

    一.热部署 在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们不希望重启应用的情况下,程序可以自动部署(热部署). 1.1 模板引擎 在SpringBoot中开发情况 ...

  7. idea中springboot项目设置热部署

    技术交流群:816227112 File-Settings-Compiler-Build Project automatically ctrl + shift + alt + /然后选择Registr ...

  8. springboot配置idea 热部署

    背景: 在开发中,当我们修改代码之后,每次都要重新启动,很是浪费时间,在springboot中就有一种热部署方式,可以实现想要修改不需要每次都重新启动,保存即可生效 用法: 一.maven 添加   ...

  9. spring boot 热部署devtools实现

    1.devtools spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot ...

随机推荐

  1. 这些用来审计 Kubernetes RBAC 策略的方法你都见过吗?

    原文链接:这些用来审计 Kubernetes RBAC 策略的方法你都见过吗? 认证与授权对任何安全系统来说都至关重要,Kubernetes 也不例外.即使我们不是安全工作人员,也需要了解我们的 Ku ...

  2. (通俗易懂小白入门)字符串Hash+map判重——暴力且优雅

    字符串Hash 今天我们要讲解的是用于处理字符串匹配查重的一个算法,当我们处理一些问题如给出10000个字符串输出其中不同的个数,或者给一个长度100000的字符串,找出其中相同的字符串有多少个(这样 ...

  3. Scrapy框架解读

    1. Scrapy组件a. 主体部分i. 引擎(Scrapy):处理整个系统的数据流处理,触发事务(框架核心)ii. 调度器(Scheduler):1) 用来接受引擎发过来的请求, 压入队列中, 并在 ...

  4. 简单架构:反射实现抽象工厂+IDAL接口完全独立DAL

    一.普通架构中存在的问题 StudentDB数据库,包含一张StudentInfoTB表,结构如下: s_id int primary key identity(1,1), s_name Nvarch ...

  5. Java并发编程知识点总结Volatile、Synchronized、Lock实现原理

    Volatile关键字及其实现原理 在多线程并发编程中,Volatile可以理解为轻量级的Synchronized,用volatile关键字声明的变量,叫做共享变量,其保证了变量的“可见性”以及“有序 ...

  6. runnable和thread实现多线程的区别

    下面以典型的买票程序(基本都是以这个为例子)为例,来说明二者的区别. 首先通过继承Thread类实现,代码如下: class MyThread extends Thread{ private int ...

  7. [Python] Django框架入门

    说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...

  8. UML类图详解和示例

    ps:博客园markdown不能自动生成列表,更好的阅读体验可访问我的个人博客http://www.isspark.com/archives/UMLDescription UML类图概述 什么是UML ...

  9. Python连载35-死锁问题以及解决方式

    一.死锁问题 例子 import threading import time ​ lock_1 = threading.Lock() lock_2 = threading.Lock() ​ def f ...

  10. cogs2223. [SDOI2016 Round1] 生成魔咒(后缀数组 hash 二分 set

    题意:对一个空串每次在后面加一个字符,问每加完一次得到的字符串有几个不同的子串. 思路:每个子串都是某个后缀的前缀,对于每个后缀求出他能贡献出之前没有出现过的前缀的个数,答案累加就行. 要求每个后缀的 ...