在开发SpringBoot的Web应用时,经常需要的重启Web服务器才能使最新修改的代码、配置文件、静态文件生效,这样就不够“优雅”了。想要改变这种情况也并不繁琐,需要我们加入“热部署”的支持,就可以在不重启Web服务器的情况下保证各项文件的修改立即生效。
正文
在IDEA中开发SpringBoot应用时,如果想加入热部署的加持,可以使用spring-boot-devtools来完成:
1 | <dependency> |
spring-boot-devtools会监听classpath下的文件变动,变动保存生效,其就会立即重启应用。
设置IDEA环境自动编译,首先开启设置中的项目自动编译选项:
然后Find Action,找到Registry…打开,找到并勾选compiler.automake.allow.when.app.running:
其实,完成上述步骤后,热部署就已经默认开启了。测试一下:
启动应用,去浏览器中请求一下/hello:
然后去加一个Controller方法:
1 |
|
稍等片刻,控制台就有重启应用的相关日志:
重新发起请求:
此时的效果是只要我们修改了编辑区的源代码,保存之后,应用程序便会自动重启让修改生效。
可以在application.properties中自定义热部署的配置:
1 | #热部署生效,默认为true开启 |