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来实现

     

  • 相关阅读:
    常用的20个正则表达式
    关于position:fixed;的居中问题
    Html table 合并单元格
    JS异步加载的三种方式
    DOM事件代码小结
    用js写一个回车键盘事件
    JavaScript 常用方法总结
    可拖拽进度条
    js数组拍平
    js验证码倒计时
  • 原文地址:https://www.cnblogs.com/yaozhixiang/p/10583897.html
Copyright © 2011-2022 走看看