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

最新文章

  1. [deviceone开发]-Star分享的几个示例
  2. vbscript input select 添加个option根据value值到指定位置--相当于排序
  3. java自带线程池和队列详细讲解
  4. Markdown 语法说明 (简体中文版)
  5. 【原创】C++链表如何像Python List一样支持多种数据类型
  6. someExperience
  7. SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)
  8. 速卖通api--获取商品信息
  9. 6T GPT 移动硬盘在linux下的挂载
  10. sar
  11. Python脚本传參和Python中调用mysqldump
  12. Ubuntu将新增磁盘挂载到home下
  13. webpack3中文版使用参考文档--全面解析webpack.config.js
  14. Java自学手记——注解
  15. HDU1166敌兵布阵(线段树,树状数组)
  16. javaWeb1之Servlet
  17. jmeter入门案例(二)
  18. struts2框架(1)---struts2入门
  19. Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
  20. Android高效加载大图、多图解决方案,有效避免程序OOM(转)

热门文章

  1. 基于python语言使用余弦相似性算法进行文本相似度分析
  2. Opengl_入门学习分享和记录_番外篇00(MacOS上如何给Xcode 适配openGL)
  3. ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job
  4. 大数据学习之旅2——从零开始搭hadoop完全分布式集群
  5. bytedance专题
  6. [GO语言的并发之道] Goroutine调度原理&amp;Channel详解
  7. grep文本搜索工具详解
  8. 【原创】微信小程序支付java后台案例(公众号支付同适用)(签名错误问题)
  9. Python 面向導向語言 Object Oriented Programming Language
  10. pip安装第三方库