zoukankan      html  css  js  c++  java
  • springboot整合mybatis增删改查(二):springboot热部署

    SpringBoot整合热部署

    传统情况下, 我们用idea运行springboot程序时, 如果我们需要修改类里的方法,或者其他信息
    我们需要修改完保存,并且重启springboot,有时候会很浪费时间。

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

    pom.xml中添加devtools依赖

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
            </dependency>
    

    配置 application.properties

    spring.devtools.remote.restart.enabled=true
    spring.devtools.restart.additional-paths=springboot-mybatis/src/main
    

    注意

    默认情况下,/META-INF/maven,/META-INF/resources,/resources,/static,/templates,/public这些文件夹下的文件修改不会使应用重启,但是会重新加载(devtools内嵌了一个LiveReload server,当资源发生改变时,浏览器刷新)。

    IDEA配置

    当我们修改了Java类后,IDEA默认是不自动编译的,而spring-boot-devtools又是监测classpath下的文件发生变化才会重启应用,所以需要设置IDEA的自动编译:
    (1)File-Settings-Compiler-Build Project automatically
    (2)ctrl + shift + alt + /,选择Registry,勾上 Compiler autoMake allow when app running

  • 相关阅读:
    EfCore基本用法
    C#笔试题目总结
    LINQ
    markdown 语法
    打造一款 刷Java 知识的小程序(二)
    为了考PMP,我做了一个刷题小程序
    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
    反制面试官 | 14张原理图 | 再也不怕被问 volatile!
    50+道大厂JVM面试题 + 11张思维导图就是让你懂JVM~
    【从零开始用Swift开发一个iOS应用(仿微博)】开篇-1. demo上手体验
  • 原文地址:https://www.cnblogs.com/smfx1314/p/10334329.html
Copyright © 2011-2022 走看看