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

 更新时间:2023年04月21日 09:59:48   作者:.29.  
Spring Boot启动热部署是一种技术,它能让开发者在不重启应用程序的情况下实时更新代码。这样可以提高开发效率,避免频繁重启应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

一、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热部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA SPI特性及简单应用代码实例

    JAVA SPI特性及简单应用代码实例

    这篇文章主要介绍了JAVA SPI特性及简单应用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • java实现的满天星效果实例

    java实现的满天星效果实例

    这篇文章主要介绍了java实现满天星效果的方法,涉及Java绘图的应用,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • java关于字符串的常用API

    java关于字符串的常用API

    字符串其实就是一串连续的字符,它是由许多单个字符连接而成的。如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号之内,今天就来介绍字符串常用的API
    2023-05-05
  • Java SpringBoot整合SpringCloud

    Java SpringBoot整合SpringCloud

    SpringCloud专注于为典型的用例和扩展机制提供良好的开箱即用体验,今天小编就带大家认识SpringCloud都有些什么特点,感兴趣的小伙伴留下来阅读全文吧
    2021-09-09
  • 关于String转Json的几种方式

    关于String转Json的几种方式

    这篇文章主要介绍了关于String转Json的几种方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Jmeter多种定时器实现方法解析

    Jmeter多种定时器实现方法解析

    这篇文章主要介绍了Jmeter多种定时器实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Map 使用 Lambda 的 forEach 实现跳出循环操作

    Map 使用 Lambda 的 forEach 实现跳出循环操作

    这篇文章主要介绍了Map 使用 Lambda 的 forEach 实现跳出循环操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Springboot接口参数校验的方法

    Springboot接口参数校验的方法

    在设计接口时我们通常需要对接口中的非法参数做校验,以降低在程序运行时因为一些非法参数而导致程序发生异常的风险,这篇文章给大家介绍Springboot接口参数校验的方法,感兴趣的朋友一起看看吧
    2024-03-03
  • Java 实现浏览器下载文件及文件预览

    Java 实现浏览器下载文件及文件预览

    这篇文章主要介绍了Java 实现浏览器下载文件及文件预览,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java多线程三种主要实现方式解析

    Java多线程三种主要实现方式解析

    这篇文章主要介绍了Java多线程三种主要实现方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论