SpringBoot(4) SpringBoot热部署

热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。

使用springboot结合dev-tool工具,快速加载启动应用

官方地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools
核心依赖包:
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <optional>true</optional>
</dependency>
添加依赖后,在ide里面重启应用,后续修改后马上可以生效。

pom文件中修改:

 1 <dependencies>
 2     <dependency>
 3         <groupId>org.springframework.boot</groupId>
 4         <artifactId>spring-boot-starter-web</artifactId>
 5     </dependency>
 6
 7     <dependency>
 8         <groupId>org.springframework.boot</groupId>
 9         <artifactId>spring-boot-devtools</artifactId>
10         <optional>true</optional>
11     </dependency>
12 </dependencies>
13
14
15 <build>
16   <plugins>
17     <plugin>
18       <groupId>org.springframework.boot</groupId>
19           <artifactId>spring-boot-maven-plugin</artifactId>
20        </plugin>
21     </plugins>
22 </build>

不被热部署的文件
  1、/META-INF/maven, /META-INF/resources, /resources, /static, /public, or /templates
  2、指定文件不进行热部署 spring.devtools.restart.exclude=static/**,public/**
  3、手工触发重启(改代码不重启,通过一个文本去控制) spring.devtools.restart.trigger-file=trigger.txt

在application.properties文件中添加

#指定某些文件不进行监听,即不会进行热加载
#spring.devtools.restart.exclude=application.properties

#通过触发器,去控制什么时候进行热加载部署新的文件
spring.devtools.restart.trigger-file=trigger.txt

原文地址:https://www.cnblogs.com/platycoden/p/9778946.html

时间: 2024-10-09 06:49:11

SpringBoot(4) SpringBoot热部署的相关文章

SpringBoot项目设置热部署

记录一个SpringBoot 设置热部署(修改项目之后,项目自动重启)实例 POM.XML 文件 <!-- 配置springBoot项目的热部署启动 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional>

第十七章 springboot + devtools(热部署)

技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现这个启动比较慢,可以选择使用jrebel) 双类加载器机制:boot使用了两个类加载器来实现重启(restart)机制:base类加载器(简称bc)+restart类加载器(简称rc). bc:用于加载不会改变的jar(eg.第三方依赖的jar) rc:用于加载我们正在开发的jar(eg.整个项目里

基于Maven的SpringBoot项目实现热部署的两种方式

下面我将介绍使用maven构建的SpringBoot项目中实现热部署的两种方式,使得部署变得异常简单,同时两种方式也非常的简单. 热部署 devtools Pom.xml中直接添加依赖即可: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>provided</

在SpringBoot中使用热部署(DevTools)

一.简介 有时候我们开发完SpringBoot项目后,启动运行.但是经常发现代码需要反复修改,然后修改部分内容后需要再启动....这样太费时了,热部署就是用来解决这一问题.让你修改完代码后,能自动执行编译并运行. 二.工具 IntelliJ IDEA.SpringBoot 2.0.4 三.步骤 1.创建正常SpringBoot的Maven项目 2.在需要热部署的项目中(或者在全局父Maven模块中)加入DevTools <dependencies> <!-- https://mvnrep

idea内springboot项目设置热部署

一.需求分析: 编写idea中编写项目时,经常性改某几行代码就需要重新启动项目,比较浪费时间,借助idea的热部署可以实现代码的热部署 二.实现经过 这边可以借助spring-boot-devtools模块进行配置,devtools会检测代码,并进行重新发布.devtools的实现原理是通过使用两个 ClassLoader,一个用来加载一些第三方的代码(如引入的一些jar包).另一个ClassCLoud会加载一些会更改的代码,可以称 为restart ClassLoader.在有代码进行更改的时

Eclipse搭建springboot项目(四)热部署

知识点:SpringBoot2.x使用Dev-tool工具热部署,快速加载启动应用 官方地址:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#using-boot-devtools 核心依赖包: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

SpringBoot之devtools热部署

spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是自动应用代码更改到最新的App上面去.原理是在发现代码有更改之后,重新启动应用,但是比速度比手动停止后再启动还要更快,更快指的不是节省出来的手工操作的时间. 其深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为  restart ClassLoader ,这样在有代码更改的时候,原来的restart

SpringBoot项目实现热部署

1.添加pom依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency><build><plugins><plugin><groupId>org

springboot 配置devtools热部署(不用重启服务可以刷新页面)

一.加入devtools依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 二.修改页面后,按快捷键ctrl+f9 即可 如果使用了thymeleaf 模板引擎,需要在app

[springBoot系列]--springBoot的热部署

在SpringBoot中启用热部署是非常简单的一件事,因为SpringBoot为我们提供了一个非常方便的工具spring-boot-devtools 或者 springloaded,我们只需要把这个工具引入到工程里就OK了,下面我就说一下怎么引入spring-boot-devtools. 一.修改pom.xml 我们只需要在pom.xml里,引入相应的jar包就行了.  --optional=true,依赖不会传递,该项目依赖devtools:之后依赖myboot项目的项目如果想要使用devto