在目前的 Spring Boot 项目中,当发生了任何修改之后我们都需要重新启动才能够正确的得到效果,这样会略显麻烦,Spring Boot 提供了热部署的方式,当发现任何类发生了改变,就会通过 JVM 类加载的方式,加载最新的类到虚拟机中,这样就不需要重新启动也能看到修改后的效果了。

注意:热部署做法也很简单,第一步修改pom.xml 即可!

一、修改pom.xml

我们往 pom.xml 中添加一个spring-boot-devtools依赖就可以了:


<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>

二、配置IDEA

如果大家使用的编译器是IDEA的话(十分推荐),Idea 默认并不开启热部署,在Idea中进行配置开启,这里以mac版为例(windows亦可参照)


  • 首先,选择右上角的 IntelliJ IDEA ,点击Preferences,如下图所示:Springboot学习5--支持热部署_ide


在搜索框中搜索 compliler 或者直接找到 Compiler,点击,检查右边的Build Project automatically是否勾选,没勾选则勾选上,然后确定。如下图:

Springboot学习5--支持热部署_ide_02



快捷键调出下方页面,MAC 快捷键:Shift+option+command+/,选择Registry;Windows 快捷键:Shift+Ctrl+Alt+/,选择Registry

Springboot学习5--支持热部署_ide_03



检查第一项 compiler.automake.allow.when.app.running 是否勾选,要勾选上。此时,热部署配置完成,重启项目即可体验。

Springboot学习5--支持热部署_spring_04



重新启动Spring Boot项目一下 ,然后修改任意代码,就能观察到控制台的自动重启现象:

Springboot学习5--支持热部署_spring_05

Springboot热部署就配置好了,以后只要代码有了任何修改,一保存编译器就会自动编译重启运行!是不是很方便~