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开发,刷新页面就可以了哦。
- 有趣 不用js也能创建silverlight
- Hadoop和Spark的异同
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(62)-EF链接串加密
- sl 2.0 重要更新
- 云计算技术原理
- WCF技术剖析之五:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务
- 进入AI时代,你准备好了吗?
- TiDB 在 G7 的实践和未来
- 投资钛值的你,知道钛链是什么吗?
- Is this a MS EnterLib DAAB BUG or not?
- Silverlight 2 has a Timer (DispatcherTimer)
- 难道调用ThreadPool.QueueUserWorkItem()的时候,真是必须调用Thread.Sleep(N)吗?
- silverlight 《Hands-On-Labs》教程系列
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(67)-MVC与ECharts
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 2020--Python语法常考知识点
- 为什么你画的Seurat包PCA图与别人的方向不一致?
- 用Python程序模拟300位观众,为5位嘉宾随机投票,最后按照降序排列结果
- Python知识点
- 上盘硬菜,@Transaction源码深度解析 | Spring系列第48篇
- Python--网络编程和并发
- HashMap常见问题(更新中)
- 使用SNVSniffer软件找somatic mutation
- 腾讯云cvm 内存使用率监控指标解读
- Redis常见面试题
- 使用MuSE软件找somatic mutation
- vivo 基于原生 RabbitMQ 的高可用架构实践
- 数据库锁
- 现在单细胞还想“水”CNS恐怕得多组学了
- 7个处理JavaScript值为undefined的技巧