zoukankan      html  css  js  c++  java
  • springboot热部署

    热启动:修改代码保存时会自动重新启动项目。

    热部署:动态替换你修改的class,效率会更高。

    热部署是什么

    编译生成Class 文件,文件里记录着和代码等对应的元数据,然后 Class 文件将被虚拟机的 ClassLoader 加载。

    热部署利用class文件修改的特点,监听class文件是否有改动,有改动就用ClassLoader进行加载。

    类的加载机制

    Java 中的类经过编译器可以把代码编译为存储字节码的 Class 文件,该 Class 文件存储了各种信息,最终要加载到虚拟机中运行使用。

    虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型。

    Springboot实现热部署

    POM中添加

    <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
    </dependency>
    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <!-- spring热部署 -->
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>springloaded</artifactId>
    <version>1.2.6.RELEASE</version>
    </dependency>
    </plugin>
    </plugins>
    </build>

    使用 spring-boot-devtools

    idea配置

    (1)File-Settings-Compiler-Build Project automatically

    (2)ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running

    配置文件application.properties添加

    #热部署生效
    spring.devtools.restart.enabled=true
    #设置重启的目录
    spring.devtools.restart.additional-paths=src/main/java
  • 相关阅读:
    java环境变量配置(Windows & Linux)
    转行自学编程的前提条件和能力
    IntelliJ IDEA 视频教程
    小孩都懂得用“头衔”来包装自己了,那么你呢?
    自创“乒乓球自嗨玩法”
    什么是npm以及npm基本命令
    hexo本地搭建以及在github远程部署
    如何下载Java-配置环境全教程
    图的存储结构以及遍历
    二叉树的存储结构以及遍历
  • 原文地址:https://www.cnblogs.com/mutong1228/p/10112569.html
Copyright © 2011-2022 走看看