Spring Boot 开发应用热部署

时间:2022-04-29
本文章向大家介绍Spring Boot 开发应用热部署,主要内容包括spring-boot-devtools 实现热部署、JRebel 插件实现热部署、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

spring-boot-devtools 实现热部署

想在Spring Boot中使用该功能非常简单,添加依赖:

<!-- 热部署模块 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional> 
<!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖该项目的项目如果想要使用devtools,需要重新引入 -->
</dependency>

spring-boot-devtools为应用提供一些开发时特性,包括默认值设置,自动重启等。

默认属性

在Spring Boot集成Thymeleaf时,spring.thymeleaf.cache属性设置为false可以禁用模板引擎编译的缓存结果。

现在,devtools会自动帮你做到这些,禁用所有模板的缓存,包括Thymeleaf, Freemarker,, Velocity等。

关闭自动重启

设置 spring.devtools.restart.enabled 属性为false,可以关闭该特性。

注:IDEA下需要重新编译文件 Ctrl+Shift+F9或者编译项目 Ctrl+F9

建议spring mvc开发,关闭掉自动重启。

spring.devtools.restart.enabled=false

JRebel 插件实现热部署

ps: JRebel 的个人免费,长期有效许可证,可以到 https://my.jrebel.com 领取(需要facebook或者twitter,嗯,你要会访问外国网站)

当然,使用JRebel 热部署插件也可以。

对需要热部署的模块,勾选JRebel启用

Alt+Ctrl+Shift+/

勾选上compiler.automake.allow.when.app.running

使用JRebel 按钮启动

任意修改Java代码,并 ctrl + s 保存 。还不用Ctrl_Shift+F9!!!

热部署成功,修改完的效果马上就呈现出来了,如果是mvc开发,刷新页面就可以了哦。