Spring Boot 热部署

实际开发中,修改某个页面数据或逻辑功能都需要重启应用。这无形中降低了开发效率,所以使用热部署是十分必要的。

什么是热部署?

应用启动后会把编译好的Class文件加载的虚拟机中,正常情况下在项目修改了源文件是需要全部重新编译并重新加载(需要重启应用)。而热部署就是监听Class文件的变动,只把发生修改的Class重新加载,而不需要重启应用,使得开发变得简便。

Spring Boot 配置实现热部署

第一种方式:maven 插件-springloaded

在spring-boot-maven-plugin插件配置中添加springloaded依赖。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.5.RELEASE</version></dependency></dependencies></plugin></plugins></build>

通过命令:mvn spring-boot:run 启动应用,修改controller中代码 或 修改html页面 后再刷新页面,会发现显示结果跟着变化。

注意:第一种方式 对 mvn spring-boot:run 这种方式启动应用有效,而对直接运行Application.java启动应用无效。

注意1:如果发现没有热部署效果,则需要检查idea配置中有没有打开自动编译:

打开 Preferences > Compiler , 勾选 Build project automatically

注意2:如果使用Thymeleaf模板引擎,需要把模板默认缓存设置为false

在application.properties中添加:

#禁止thymeleaf缓存(建议:开发环境设置为false,生成环境设置为true)
spring.thymeleaf.cache=false

第二种方式:依赖 spring-boot-devtools 热部署模块

pom.xml 添加依赖:

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

重启应用,修改controller中代码 或 修改html页面 后再刷新页面,会发现显示结果跟着变化。

Spring Boot 热部署(转)相关推荐

  1. Spring Boot 热部署入门

    转载自  Spring Boot 热部署入门 1. 概述 在日常开发中,我们需要经常修改 Java 代码,手动重启项目,查看修改后的效果.如果在项目小时,重启速度比较快,等待的时间是较短的.但是随着项 ...

  2. Spring Boot热部署

    Spring Boot热部署 在SpringBoot中启用热部署非常简单,因为SpringBoot提供了一个非常方便的工具spring-boot-devtools,只需把这个工具引入到项目里即可. 1 ...

  3. IDEA 2018.3版本Spring Boot 热部署

    IDEA 2018.3版本Spring Boot 热部署 看了B站尚硅谷的"尚硅谷SpringCloud框架开发教程(SpringCloudAlibaba微服务分布式架构丨Spring Cl ...

  4. 芋道 Spring Boot 热部署入门

    点击上方"芋道源码",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RP ...

  5. Spring boot热部署的作用和原理

    Spring boot热部署的作用和原理 前言 一.Spring boot热部署的作用 1.什么是SpringBoot热部署 2.什么项目重启 3.什么静态文件 4.如何使用Spring boot热部 ...

  6. 第二篇:Spring Boot 热部署

    文章目录 1. 依赖 2. 开启实时自动编译 3. 开启运行自动编译开关 1. 依赖 <!-- 热部署DevTools --><dependency><groupId&g ...

  7. Spring Boot 热部署 devtools模块

    devtools模块详解 devtools模块,是为开发者服务的一个模块.主要的功能就是代码修改后一般在5秒之内就会自动重新加载至服务器,相当于restart成功. 简单原理 在发现代码有更改之后,自 ...

  8. Spring Boot 热部署(热加载)

    idea 热部署作用:自动帮开发者重启 spring boot 项目,从而达到修改代码之后能够"实时"的看到最新的效果 1.添加热部署框架支持 <dependency> ...

  9. Spring Boot 热部署

    三种热部署方式 1:spring-boot-devtools  2:Spring Loaded  比较繁琐 3:Jrebel  JRebel是一款收费的服务,可以通过官网进行激活码购买. 因此主要采用 ...

  10. SpringBoot资料合集-03【Spring Boot 热部署与日志】

    1.springboot中devtools热部署 2.带你弄清混乱的JAVA日志体系! 3. logback日志的集成 1.springboot中devtools热部署 1.1 引言 为了进一步提高开 ...

最新文章

  1. python 交互图形 bokeh学习总结
  2. java日志框架log4j详细配置及与slf4j联合使用教程
  3. 脚手架工程:介绍安装
  4. Git 的安装和创建版本库 。
  5. LeetCode题 - 83. 删除排序链表中的重复元素 python实现
  6. mysql 备份表_Mysql 表的备份与恢复
  7. Apache Solr solrconfig.xml 中文说明
  8. 【已解决】Windows Ink中没有便签怎么办
  9. exp-小写字母表导出问题?
  10. 调试错误:ValueError: Protocol message Feature has no quot;featurequot; field.
  11. like mybatis 用法_Mybaits中Like 的使用方式以及一些注意点
  12. 博客园8月份第3周51Aspx源码发布详情
  13. 互联网系统应用架构基础分析
  14. 域名续费如何省钱?将域名转入阿里云的一次操作过程
  15. 我的世界服务器怎么修改名称,我的世界端游怎么改名字
  16. 尔雅国学智慧课后答案
  17. 英语语法快速入门4--定语与定语从句(附思维导图)
  18. 【零信任落地案例】启明星辰中国移动某公司远程办公安全接入方案
  19. host key has just been changed
  20. 请求与通配符 mime 映射相匹配。请求映射到静态文件处理程序。如果有不同的前提条件,请求将映射到另一个处理程序。...

热门文章

  1. 如何使用Navicat给表设置唯一索引
  2. PHP查看内存使用量
  3. linux 卸载 resin,卸载软件 - OpenRASP 官方文档 - 开源自适应安全产品
  4. 全网首发:LINUX给进程内容窗口改名的第二种方法
  5. No plugin found for prefix ‘doclint‘ in the current project
  6. Windows访问samba:\\IP不行,那就\\IP\共享名
  7. LINUX C#开发教程
  8. 做手机系统,鸿蒙怎样才有机会
  9. 无锡硕放机场建议改名为金苏机场
  10. 如何检查视频画面延迟的时间