SpringBoot热部署启动关闭流程详解

目录
  • 一、pom.xml导入坐标
  • 二、手工启动热部署
  • 三、自动启动热部署
  • 四、热部署范围配置
  • 五、关闭热部署
  • 小结

一、pom.xml导入坐标

在SpringBoot工程的pom.xml配置文件中,添加以下依赖

        <!--手工启动热部署,用到的开发者工具依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

二、手工启动热部署

IDEA中激活热部署

快捷键:Ctrl + F9

图形化界面Build Project

三、自动启动热部署

IDEA中自动激活热部署(IDEA失去焦点五秒后自动构建项目,启动热部署)

第一步:

File 》Setting 》Build、Execution、Deployment 》Compiler 》勾选Build project automatically

第二步:

File 》Setting 》advanced Settings 》勾选Allow auto-make to start even if development application is currently running

四、热部署范围配置

关于热部署:

  • 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
  • 重载(ReLoad):jar包,加载位置base类加载器

热部署范围配置:

默认不触发重启的目录列表:

  • /META-INF/maven
  • /META-INF/resources
  • /resources
  • /static
  • /public
  • /templates

springboot配置文件中,手动设置不参与热部署的文件或文件夹:

# 将application.yml设置为不参与热部署,若需要设置多个参数,参数之间用逗号','隔开
spring:
  devtools:
    restart:
      exclude: application.yml

五、关闭热部署

绝对保障,使用不会被配置文件的配置所覆盖的,高优先级配置,来设置热部署关闭:

SpringBoot工程启动类中配置:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootSsmpApplication {
    public static void main(String[] args) {
        //设置热部署关闭
        System.setProperty("spring.devtools.restart.enabled","false");
        SpringApplication.run(SpringbootSsmpApplication.class, args);
    }
}

小结

开启开发者工具后启动热部署;

使用构建项目操作启动热部署(Ctrl+F9);

可以配置自动构建项目用于自动激活热部署;

热部署仅仅加载当前开发者自定义的开发的资源,不加载jar包资源;

可以在配置文件中设置热部署范围

可以在SpringBoot启动类中,使用比配置文件更高优先级的配置来关闭热部署

到此这篇关于SpringBoot热部署启动关闭流程下详解的文章就介绍到这了,更多相关SpringBoot热部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Springboot简单热部署实现步骤解析

    最近开始学习使用springboot但springboot项目和之前的ssm等各种框架项目有所不同,本身集成了很多繁琐的东西,但 一些小功能还需自己配置.下面开始配置热部署. 首先当然是导入热部署的依赖. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>tru

  • SpringBoot热部署设置方法详解

    目录 热部署 手动设置热部署 自动启动热部署 热部署配置范围 属性加载优先级 热部署 手动设置热部署 导入maven坐标 <!--热部署依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 每次修改点击构建项目 这个还是的手动点击(c

  • SpringBoot深入讲解单元测试与热部署应用

    目录 一.单元测试 1.添加spring-boot-starter-test测试依赖启动器 2.编写单元测试类和测试方法 二.热部署 1.添加spring-boot-devtools热部署依赖启动器 2.IDEA工具热部署设置 3.热部署效果测试 一.单元测试 开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确.Spring Boot对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml文件中添加spring-boot-starter-te

  • SpringBoot中热部署配置深入讲解原理

    目录 热部署 springboot项目热部署实现原理 在springboot中进行热部署操作步骤 重启与重载 自动启动热部署 参与热部署监控的文件范围配置 关闭热部署 总结 热部署 所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用.    对于Java应用程序来说,热部署就是在运行时更新Java类文件.    在以往,我们对java代码进行修改之后都需要重新启动应用,但是如果该项目进行了热部署,就可以在不重启项目的条件下,进行代码的更新. springboot项目热部署实现原理

  • SpringBoot热部署配置方法详解

    目录 前言 手动启动热部署 热部署种类 手动进行热部署 自动启动热部署 热部署范围配置 热部署的关闭 总结 前言 我们在了解一个东西的时候,总是喜欢问的就是为什么要?就是为什么我们需要这个,至少你要告诉我用这个的好处是什么:知道了需求然后学习,效率会好一些. 所以,我们为什么要学习热部署?想象一下这个情况,我们在开发的过程中,每次修改都要重启服务器才能够去重新部署项目,在项目较小的情况下还能忍受,但是如果做的是一个大型项目,部署一次消耗的时间成本很高. 所以热部署的作用 就是为我们免去这些时间上

  • springBoot 插件工具热部署 Devtools的步骤详解

    第一步添加jar包: <!-- 这个依赖是热部署的(devtools)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> <

  • SpringBoot整合Dozer映射框架流程详解

    目录 1. Dozer 介绍 2. 为什么要使用映射框架 Dozer 3. Dozer 映射框架的使用 1. Dozer 介绍 Dozer 是一个 Java Bean 到 Java Bean 的映射器,它递归地将数据从一个对象复制到另一个对象.Dozer 是用来对两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的调用 set 和 get 方法. 最重要的是,Dozer 可以确保来自数据库的内部域对象不会渗入外部表示层或外部消费者,它还可

  • SpringBoot配置和切换Tomcat流程详解

    目录 1.基本介绍 2.内置 Tomcat 的配置 1.通过 application.yml 完成配置 2.通过类来配置 Tomcat 3.切换 WebServer 1.基本介绍 SpringBoot 支持的 webServer: Tomcat, Jetty, or Undertow SpringBoot 应用启动是 Web 应用时.web 场景包-导入 tomcat 支持对 Tomcat(也可以是 Jetty .Undertow)的配置和切换 2.内置 Tomcat 的配置 1.通过 appl

  • SpringBoot Session接口验证实现流程详解

    目录 添加pom.xml 创建简单的测试接口 使用过滤器实现 使用拦截器实现 需求:只有用户登录成功后,才能访问其它接口,否则提示需要进行登录 项目仓库地址:https://gitee.com/aiw-nine/springboot_session_verify 添加pom.xml 新建Spring Boot(2.7.2)项目,添加如下依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns

  • springboot命令行启动的方法详解

    springboot命令行启动 创建的springboot项目想看看效果,不想打开idea等开发工具,使用直接使用命令行启动. maven的命令启动 需要将 jdk的bin目录和maven的bin目录添加到环境变量path中,若是没有,mvn就要用在maven的bin环境中的全路径 若是没有添加环境变量 mvn就要是E:\software\apache-maven-3.3.9\bin\mvn(安装路径\bin\mvn) java就要是C:\software\jdk\bin\java.exe(安装

  • Mysql服务器的安装配置与启动关闭方法详解

    1.官网下载: https://dev.mysql.com/downloads/ 找到Mysql Community Server 点击 点击download下载,可以选择下载路径,我下载在d盘: 下载好了需要: 新建mysql.ini文件 内容: [mysql] 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 设置mysql的安装目录 basedir=D:\java web\mysql\mysq

  • SpringBoot自定义路由覆盖实现流程详解

    目录 背景 设计 实现 注解定义 注解扫描及管理 自定义RequestMappingHandlerMapping 注册RequestMappingHandlerMapping 使用示例 背景 公司最近有一个项目二期需要对一些功能进行改造,涉及部分框架内置业务接口个性化定制,兼容老接口功能并且增加一部分新的数据返回,由于前端调用这些接口分布较多且较为零碎,修改测试成本较大,所以打算在框架层面提供路由覆盖功能,加快项目进度减少无技术含量的修改带来的系统风险 设计 提供自定义注解指定需要覆盖的路由及新

  • Android Service启动绑定流程详解

    目录 前言 一.Service 的启动流程 二.Service的绑定 三.Service的Context 总结 前言 本文基于Android 11,参考<Android进阶解密>一书资料.了解Service的启动和绑定流程,以及Service的Context创建过程. 由于基于分析流程,忽略很多细节分支.各位在看源码的时候,要尽可能忽略细节,分析整体流程之后,还有精力的话再去看细节.例如有些属性是在后面赋值的,如果在前面追究,难哦. 另:阅读这种流程需要很大的耐心和毅力.建议在心情愉悦想要学习

  • SpringBoot整合junit与Mybatis流程详解

    目录 SpringBoot整合junit 环境准备 编写测试类 SpringBoot整合mybatis 回顾Spring整合Mybatis SpringBoot整合mybatis 创建模块 定义实体类 定义dao接口 定义测试类 编写配置 测试 使用Druid数据源 SpringBoot整合junit 回顾 Spring 整合 junit @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = SpringC

  • Tomcat 热部署的实现原理详解

    Tomcat热部署机制 对于Java应用程序来说,热部署就是在运行时更新Java类文件.在基于Java的应用服务器实现热部署的过程中,类装入器扮演着重要的角色.大多数基于Java的应用服务器,包括EJB服务器和Servlet容器,都支持热部署.类装入器不能重新装入一个已经装入的类,但只要使用一个新的类装入器实例,就可以将类再次装入一个正在运行的应用程序. 我们知道,现在大多数的web服务器都支持热部署,而对于热部署的实现机制,网上讲的却不够完善,下面我们就Tomcat的热部署实现机制,讲解一下它

随机推荐