首先简单说下什么是热部署。热部署就是在修改程序代码和配置后,运行着的程序能自动监测到修改,实现让系统无需重启的情况下完成字节码或者配置的更新。热部署可以帮我们省去了开发调试时修改代码后经常手动部署应用的时间,能极大地提高开发效率。对于 Java 应用的热部署,Spring Boot 也推出了 Spring Boot DevTools 组件实现,我们就可以在 Spring Boot 程序快速集成热部署功能。
在 pom.xml 文件中添加 spring-boot-devtools 组件。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
在 plugin 中配置另外一个属性 fork,并且配置为 true。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
OK,以上的配置就完成了,如果你使用的是 Eclipse 集成开发环境,那么恭喜你大功告成了;如果你使用的是 IDEA 集成开发环境,那么还需要做以下配置。
选择 File | Settings | Compiler 命令,然后勾选 Build project automatically 复选框,低版本的 IDEA 请勾选 make project automatically 复选框。
使用快捷键 Ctrl + Shift + A,在输入框中输入 Registry,勾选 compile.automake.allow.when.app.running 复选框:
全部配置完成后,IDEA 就支持热部署了,大家可以试着去改动一下代码就会发现 Spring Boot 会自动重新加载,再也不需要手动单击重新部署了。