springboot入门-开发环境热部署

author author     2023-04-27     136

关键词:

参考技术A 我们在开发SpringBoot项目时,经常需要重启才能使新写的代码生效,特别是当项目变大时,一次重启就要一两分钟,相当耗时。有什么办法可以实现热部署呢?其实还是有的。

第一步,引入devtools依赖,需要注意的是这个依赖只能放在应用模块,不能放在父模块,否则会有问题

第二步,编译项目,每次编译项目,项目就会热部署,idea里面点击Build Project或者按Ctrl+F9都可以

第三步,测试,我把HelloController里面的输出从hello world改成hello world123,按ctrl+f9,看下控制台说明重启成功了

访问浏览器看到已经是修改后的返回值了

其实按照SpringBoot官方的说法这种方式不是严格意义的热部署,而是热重启,因为每次编译项目都会重启,那它和手动启动有啥区别呢?

热重启其实有两个ClassLoader,一个加载第三方库,一个加载工作区的类,热重启只会重新加载工作区的类,所以启动时间会大大缩短。看上图我们发现热重启启动只需1.15S,而冷启动需要3.5S

最后这个功能在idea有点bug就是有时会发现热部署后接口返回404,这时需要加一段配置

springbootspringboot开发环境热部署

...重新启动,整个过程非常麻烦,影响开发效率。SpringBoot做了很好的支持,提供了spring-boot-devtools组件,使得无须手动重启SpringBoot应用即可重新编译、启动项目,大大缩短编译、启动的时间, 查看详情

springboot开发环境热部署方案!(代码片段)

...3‍前言热部署常用实现方案spring-boot-devtoolsJRebel总结前言SpringBoot提出了多项开箱即用的功能特性,但归根到底还是围绕简化应用的创建、开发、运行。开发环境下我们经常对项目代码进行变动,如果每次都重新启动应用... 查看详情

springboot实现热部署

...已经通过Jrebel插件实现热部署。下面,我们一起看看SpringBoot如何实现热部署。依赖的环境        实际上,SpringBoot的出现就是为了简化我们在开发过程中的配置。那么这里的配置自然不会太过复杂。需要引入的jar包... 查看详情

springboot初始教程之热部署(代码片段)

SpringBoot初始教程之热部署(五)1.介绍SpringBoot提供了一个maven插件来支持热部署spring-boot-devtools,仅仅是在开发环境中使用,如果已经打包了就无法使用。<dependencies><dependency><groupId>org.springframework.boot</groupId>& 查看详情

springboot初始教程之热部署(代码片段)

SpringBoot初始教程之热部署(五)1.介绍SpringBoot提供了一个maven插件来支持热部署spring-boot-devtools,仅仅是在开发环境中使用,如果已经打包了就无法使用。<dependencies><dependency><groupId>org.springframework.boot</groupId>& 查看详情

springboot热部署

后端开发中热部署有很多方式,但是在开发SpringBoot项目有一种SpringBoot给我们提供好的很方便的一种方式,配置起来也很简单。热部署可以简单的这样理解:我们修改程序代码后不需要重新启动程序,就可以获取到最新的代码,... 查看详情

springboot配置devtools实现热部署

SpringBoot配置devtools实现热部署spring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加... 查看详情

34springboot的热部署

...以下四种情况,如何能实现热部署。 1、模板引擎在SpringBoot中开发情况下禁用模板引擎的cache页面模板改变ctrl+F9可以重新编译当前页面并生效 2、SpringLoadedSpring官方提供的热部署程序,实现修改类文件的 查看详情

springboot学习17:springboot热部署配置

spring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Ja... 查看详情

springboot开发实用篇复习1(代码片段)

SpringBoot开发实用篇主要包含6大部分,分别为热部署、配置高级、测试、数据层解决方案、整合第三方技术、监控。下面就开始一起学习吧。这篇文章包含前三个部分,即热部署、配置高级和测试。目录一、热部署1.1、手... 查看详情

springboot项目在intellijidea中实现热部署

...必要,本文将介绍如何在IntelliJIDEA(版本2018.2.5)中实现SpringBoot项目热部署。本文使用spring-boot-devtools实现的热部署,按照下面两个步骤操作完成即可。1.修改pom.xmlspring-boot-devtools是一个为开发者服务的一个模块,其中最 查看详情

springboot2:开发实用篇(黑马程序员p67~p142)

一、热部署1.1手动启动热部署1.2自动启动热部署1.3热部署范围配置1.4关闭热部署功能二、配置高级2.1@ConfigurationProperties2.2@EnableConfigurationProperties2.3松散绑定2.4常用计量单位应用2.5bean属性校验2.6yaml语法规则三、测试3.1加载... 查看详情

springboot热部署

...然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:  pom.xml文件添加一下配置:<dependency><groupId>org.springframework.boot</groupId><artif 查看详情

springboot热部署

...以大大减少重启服务的时间。之所以能减少时间,是因为SpringBoot自动重启的原理在于使用两个classloader:不改变的类(如第三方jar)由base类加载器加载,正在开发的类由restart类加载器加载。应用重启时,restart类加载器被扔掉重... 查看详情

springboot之热部署

...  热部署:当发现程序修改时自动启动应用程序。springboot使用的是spring-boot-devtools是一个为开发者服务的一个模块。其原理用了classLoader其中一个加载不变的类,另一个restartClassLoader加载变得类。devtools会监听classpath下的... 查看详情

springboot2.0之热部署原理

所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署原理:实用类加载器(classloader重新读取字节码文件到jvm内存)如何纯手写一个热部署功能: 1、监听class文件是否发生改变 版本号、... 查看详情

springboot在idea中实现热部署(实用版)

...。相关教程:IDEA快速入门教程(2018图文版)专题阅读:《SpringBoot布道系列》具体步骤:打开顶部工具栏File->Settings->DefaultSettings->Build->Compiler然后勾选Buildprojectautomatically。具体步骤:同时按住Ctrl+Shift+Alt+/然后进入Registry,... 查看详情

springboot配置devtools实现热部署(代码片段)

spring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。devtools的原理深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的... 查看详情