使用DevTools实现热部署
DevTools
前面虽然通过配置IDEA实现了简单的热部署,但是有很明显的缺点,只能实现方法体的修改热部署。很明显无法满足日常的需求的,所以这个时候就需要使用DevTools来替代了。
DevTools是Spring为开发者提供了一个名为spring-boot-devtools的模块,来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。使用起来非常简单,只需要将下面的依赖引入项目里面就可以了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
触发重启
devtools原理简而言之就是:通过监控类路径资源,当类路径上的文件发生更改时,自动重新启动应用程序,由于只需要重新读取被修改的类所,所以要比冷启动快。
那么问题来了,该如何更新类路径来触发自动重启呢?其实这个取决于你使用的 IDE:
- 在 IntelliJ IDEA中,需要点击Build按钮Command + F9构建项目来实现。
- 或者设置保存自动编译来进行热部署
保存自动编译来进行热部署
- 开启Build project automatically。
- 使用快捷键:Ctrl + Alt + Shift + / 调出 Registry 窗口,勾选 compiler.automake.allow.when.app.running 选项。