Hot swapping 热启动

Hot swapping 热启动
https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/
【19.5 Hot swapping】
Hot swapping 热插拔,我们也叫他热启动,修改程序时无需手动重启服务器就能预览程序的改变,
一、配置 Developer tools
1、pom中引入开发者工具(停止服务器后再修改,或改完需要重启一下)

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是当代码发生改变的时候
监听classpath下的文件变动,并且会立即重启应用程序,但是速度比手动停止后再启动更快

idea工具每次编辑完会自动保存,但不会自动编译,而devtools的原理是监听 编译后的文件改动,所以我们要手工编译项目或刚刚修改的文件。

在这里插入图片描述

2、配置自动编译(修改后直接生效)
为了提高开发体验,我们可以配置 idea 的自动编译
(1)idea中启用项目自动构建
在这里插入图片描述
(2)查找快捷键
maintenance 维护

在这里插入图片描述
(3)按快捷键
选 Registry…

在这里插入图片描述
(4)勾选compiler.automake.allow.when.app.running选项
在这里插入图片描述

二、配置触发热部署 (即时生效)

热部署一定程序上提高了开发体验,但是idea工具因为会自动保存,并且现在我们也配置了自动编译。所以你会发现,他总是会自动编译并且重新部署。有时候我们程序写到一半,idea也会时不时热部署,增加了资源消耗,开发体验反而更不好。这种情况反而让我们觉得大多数情况下的热部署是多余的。
怎么解决这个问题呢?我们可以做一个配置,当需要热部署时我们再触发他
1、新建触发文件(任意名字,必须在META-INF文件夹中)
resources/META-INF/.trigger

2、修改Spring Boot 全局配置文件
resources/application.properties

#热部署触发文件
spring.devtools.restart.trigger-file=.trigger

3、触发热部署
只有修改了.trigger文件,才会自动重启

猜你喜欢

转载自blog.csdn.net/zhang_cl_cn/article/details/83150664