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 系列(六)web开发-Spring Boot 热部署

    Spring Boot 热部署 实际开发中,修改某个页面数据或逻辑功能都需要重启应用.这无形中降低了开发效率,所以使用热部署是十分必要的. 什么是热部署? 应用启动后会把编译好的Class文件加载的虚 ...

  2. spring boot: 热部署spring-boot-devtools

    spring boot: 热部署spring-boot-devtools 1引入spring-boot-devtools依赖包 <!-- spring boot devtools 热部署 --& ...

  3. spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar)

    spring boot: 热部署(一) run as – java application (spring-loader-1.2.4.RELEASE.jar) 如果使用的run as – java a ...

  4. Spring Boot热部署插件

    在实际开发中,我们修改某些代码逻辑功能或页面都需要重启应用,这无形中降低了开发效率,热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,而不需要重启应用,这样大大提高了我们开发的效率. Spr ...

  5. spring boot热部署 -- 实现 后端java热更新 -- 详细操作 【idea 的 JRebel破解】

    1.前言 上一随笔写了如何使得spring boot热更新前端 ,但后端java部分无法热更新. 对于Java热更新,以前常使用  springloaded  ,但是缺点 和bug很多 无法实现真正意 ...

  6. 3,Spring Boot热部署

    问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了.那么如何解决热部署的问题呢 ...

  7. spring boot 热部署,省去频繁编译的步骤

    一.热启动: 每自修改后, 程序自动启动Spring Application上下文. Pom中直接添加依赖即可: <dependency>            <groupId&g ...

  8. 关于使用 IDEA Spring Boot 热部署

    1,POM 中引用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  9. 一分钟搞定:spring boot 热部署 (基于Idea)

    什么是热部署? 对于spring boot项目,修改后台的java类,不要重启整个项目,就可以测试/使用刚修改的功能! 怎么为项目添加/设置热部署 maven项目在pom.xml添加下方代码,联网引入 ...

随机推荐

  1. html --- rem 媒体查询

    rem是一种相对长度单位,参考的基准是<html>标签定义的font-size. viewport 做移动端的h5,通常会在HTML文件中指定一个<meta>标签: <m ...

  2. 关于自定义一个上传的file按钮

    在input中html给我们一个 type  file用来做文件上传的功能,比如 但是这样的样式,实在难看,在开发的时候看了layui和bootstrap的点击上传,都很不错. 前者的调用方式和js的 ...

  3. Java的IO流架构

    输入输出是指应用程序与外部设备及其他计算机进行数据交流的操作,如读写硬盘数据.向显示器输出数据.通过网络读取其他节点的数据等.任何一种编程语言必须拥有输入输出的处理方式,Java语言也不例外.Java ...

  4. linux6.0系统如何安装portmap

    因为在6.0的系统里,portmap已经改名了.在Redhat或CentOS5中可以使用 service portmap start启动服务,然后在启动nfs服务,实现挂载. 6里面可是试试 serv ...

  5. 在web开发中你不得不注意的安全验证问题#2-XSS

    前言 XSS又叫CSS (Cross Site Script) ,跨站脚本攻击. 恶意攻击者往Web页面里插入恶意html代码.当用户浏览该页之时,嵌入当中Web里面的html代码会被运行,从而达到恶 ...

  6. Lightoj 1127 - Funny Knapsack 【二分】

    题目链接:problem=1127">http://www.lightoj.com/volume_showproblem.php?problem=1127 题意:有n个物体(n< ...

  7. Python基础教程之第3章 使用字符串

    Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Type "copyri ...

  8. List-ArrayList 使用

    今天优化一段代码,如下 int num = 0; boolean skipAppend = false; int types_ext1[] = new int[] { ModuleType.TYPE_ ...

  9. AJAX - 封装AJAX GET 数组join( )方法 键值对取value POST请求参数注意点

    function objToStr(obj){ obj.t = new Date().getTime(); // 给obj动态增加了一个属性 // 这个给对象添加属性的方法, 会被直接加到键值对里?? ...

  10. vim学习3

    可视模式: