zoukankan      html  css  js  c++  java
  • spring-boot-devtools 热部署

    一、简单介绍

      spring-boot-devtools是一个为开发者服务的一个模块,其中最重要的功能就是修改代码后自动启动springboot服务,速度比手动停止后再启动要快,节省出来的并不是手工操作的时间。

    二、原理

      主要是使用了两个ClassLoader,一个Classloader加载不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为  restart ClassLoader,这样在有代码更改的时候,原来的restartClassLoader 被丢弃,重新创建一个restartClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间(5秒以内)。

    三、配置使用

    1.添加maven配置

     

    2.添加启动插件

    pom文件添加插件启动配置,如果没有fork配置,devtools不起作用,即项目修改后不会重新启动

     

    3.设置项目自动编译

    setting->Build,Execution,Deployment->Compiler找到 Build Project Automatically 
    这个选项再Eclipse是默认勾选的,而IDEA要手动勾选。 

     

    4.选择登记

    然后找个地方ctrl+shift+alt+/ 调出Maintenance(维护)控制台,选择Registry(登记) 

    勾选运行时自动编译(compiler.automak.allow.when.app.running) 

     5.验证

    当修改完毕代码保存后,使用的加载器就变为了 restartedMain 了,说明热部署已经成功。

     

    四、其他

      devtools可以实现页面热部署(即页面修改后会立即生效)

          这个可以直接在application.properties文件中配置spring.thymeleaf.cache=false来实现

     

  • 相关阅读:
    TCP/IP详解学习笔记
    C++知识库
    C++中基类的析构函数为什么要用virtual虚析构函数
    秒杀多线程面试题系列
    很详细全部的WinDbg学习资料
    Ubuntu中libprotobuf版本冲突的解决方案
    Windows系统中内存泄露与检测工具及方法
    Ubuntu脚本修改IP信息
    【Qt】Qt Quick 之 QML 与 C++ 混合编程详解
    分布式系统消息中间件——RabbitMQ的使用基础篇
  • 原文地址:https://www.cnblogs.com/yaozhixiang/p/10583897.html
Copyright © 2011-2022 走看看