文档章节

玩转 Springboot 2 之热部署(DevTools)

桌前明月
 桌前明月
发布于 09/17 06:36
字数 803
阅读 21
收藏 1

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 #是否禁用重启

© 著作权归作者所有

桌前明月
粉丝 0
博文 18
码字总数 38203
作品 0
平谷
私信 提问
SpringBoot学习之路:12.Spring Boot使用idea开发如何配置热加载

java开发的ide用最多的无非就是eclipse和idea,在eclipse中开发springboot,要使项目热加载资源只需要在pom文件中引入springboot的开发工devtools即可。但是该工具在使用idea开发springboot时...

MaxBill
2018/08/15
412
0
springboot2.0系列(三):热部署devtools

---layout: posttitle: springboot2.0(三)热部署devtoolscategories: [springboot]description: springboot2.0(三)热部署devtoolskeywords: springboot 我们在开发中经常修改代码后,要重启才......

狂奔的熊二
2018/12/26
259
0
Idea配置spring-boot-devtools- 不起作用

我在用idea14在做springboot框架项目(maven),添加了spring-boot-devtools,但是热部署仍然不好用,不知道哪里不对。 这些是我目前的配置: maven依赖使用了spring---parent 版本1.4.1.REL...

fgod
2016/11/03
3.5K
3
SpringBoot 使用devtools热部署

spring boot 热部署 添加依赖 属性文件的修改 springBoot 资源文件属性配置 添加依赖 属性文件的修改 新建 resource.properties 资源引用的配置 springBoot 修改 Server 和Tomcat的配置...

细节探索者
02/20
14
0
Spring Boot学习资源

Spring Boot 入门 http://blog.csdn.net/isea533/article/details/50278205 ---------------------------------------------------------- Spring Boot 静态资源处理 http://blog.csdn.net/c......

IamOkay
2017/02/17
443
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 内存信息解析

used_memory:由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位 used_memory_rss:向操作系统申请的内存大小。与 top 、 ps等命令的输出一...

Canaan_
28分钟前
4
0
windows 下 python3 安装 pip setuptools

本文链接:https://blog.csdn.net/huzuxing/article/details/80807744 最近在家使用python的时候,总是报setuptools 模块未找到,于是在网上搜索了相关解决办法,但是都没有解决问题。 于是去...

开源中国首席CYO
34分钟前
4
0
数据库添加索引

mysql索引添加 navicat 步骤 - 选择表 -> 设计表 ->索引

以谁为师
44分钟前
6
0
java7与java9中的try-finally关闭资源

1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. try{//}catch(Exception e){//}finally{if(xxxx != null){xxxx.close();}} 在jav...

Blueeeeeee
46分钟前
4
0
字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部