玩转springboot2.x之热部署(devtools)

版权声明:本文为博主原创文章,转载请表明出处。如果您觉得文章还行就点个赞,同时也可以关注一下我哈。 https://blog.csdn.net/ljk126wy/article/details/88042169

专题系列分类:玩转SpringBoot2.x系列教程

1 SpringBoot 热部署(devtools)简介

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

触发重启
由于DevTools监视类路径资源,因此触发重新启动的唯一方法是更新类路径。导致更新类路径的方式取决于您使用的IDE。在Eclipse中,保存修改后的文件会导致更新类路径并触发重新启动。在IntelliJ
IDEA中,构建项目(Build -> Build Project)具有相同的效果。

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

2 SpringBoot 热部署操作

2.1 Eclipse 使用SpringBoot devtools

第一步是先创建 SpringBoot 项目 关于创建SpringBoot 项目这里我就不再进行介绍,请直接看我的另外一篇博客 玩转springboot2.x 快速搭建之STS篇 创建好SpringBoot 项目后引入 spring-boot-devtools 依赖 具体依赖代码如下:

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

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

2.2 IntellJ IDEA 使用SpringBoot devtools

使用IntellJ IDEA 第一步也是先建SpringBoot项目 创建SpringBoot 项目操作流程博主也为您准备好了,具体请参考 玩转springboot2.x IDEA快速搭建之IntellJ IDEA篇 然后引入 spring-boot-devtools 依赖 具体依赖代码如下:

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

你可以觉得已经完事了,但是我可以肯定的告诉你 NO NO NO,还需要做一点小小的配置。
1 启动自动编译功能
File -> Settings -> Build,Execution,Deplyment -> Compiler,选中打勾 Build project automatically。具体操作如下图:
在这里插入图片描述
在这里插入图片描述
2 设置程序运行过程中,依然允许自动编译
使用快捷键 Shift+Ctrl+Alt+/ ,点击 Registry 选项 ,选中compiler.automake.allow.when.app.running 具体操作如下图:
在这里插入图片描述
在这里插入图片描述
上面2步设置操作完毕后就可以放心在IntellJ IDEA 上进行SpringBoot 项目的开发了,在也不用担心重启的问题啦。

2.3 devtools 常用配置介绍

SpringBoot 默认为我们提供啦 devtools 相关的配置,我们也可以在配置文件定义个性化的配置。
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 #是否禁用重启

猜你喜欢

转载自blog.csdn.net/ljk126wy/article/details/88042169
今日推荐