进行SpringBoot的Web开发过程当中,咱们不少时候常常须要重启Web服务器才能保证修改的 源代码文件、或者一些诸如xml的配置文件、以及一些静态文件生效,这样耗时又低效。所谓的热部署指的是咱们不须要重启Web Server就能够保证各项文件修改的当即生效。下面便来介绍一下在IDEA中进行SpringBoot的Web开发时如何加入热部署的支持。html
这里咱们是使用 spring-boot-devtools
来帮助完成这个事情,其是一个为开发者服务的模块,能够实现SpringBoot热部署。其机理就是 spring-boot-devtools
会监听classpath下的文件变更,变更保存生效,其就会当即重启应用。spring
注: 本文首发于 My 公众号 CodeSheep ,可 长按 或 扫描 下面的 当心心 来订阅 ↓ ↓ ↓编程
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
复制代码
首先在编译器选项中选中自动编译工程的选项,以下图所示,c#
接下来咱们利用快捷键:Command + Shift + Alt + / 来调出Registry窗口,而后勾选其中的编译器自动编译选项,以下图所示:bash
上面几个步骤设置完成之后,咱们去项目的根目录下执行命令来启动SpringBoot应用:服务器
mvn clean spring-boot:run
复制代码
此时的效果是只要咱们修改了编辑区的源代码,保存以后,应用程序便会自动重启让修改生效。app
上面咱们是修改源代码时的自动热启动,除此以外,咱们还能够设置 spring-boot-devtools
来监听某个文件夹的变化,好比咱们想监听某个静态文件夹下文件的变化(如html文件),当其下面的文件改变的时候可以从新启动SpringBoot,那么咱们只要在配置文件 application.properties
中添加以下配置便可:框架
spring.devtools.restart.additional-paths = src/main/resources/templates
复制代码
随后再次实验,取得的效果和以前同样,热启动便生效了spring-boot
做者更多的SpringBt实践文章在此:
若是有兴趣,也能够抽点时间看看做者一些关于容器化、微服务化方面的文章: