zoukankan      html  css  js  c++  java
  • SpringBoot热部署-解决方案

    在SpringBoot中启用热部署是非常简单的一件事,因为SpringBoot为我们提供了一个非常方便的工具spring-boot-devtools,我们只需要把这个工具引入到工程里就OK了,下面我就说一下怎么引入spring-boot-devtools。
    修改pom.xml
    我们只需要在pom.xml里,引入相应的jar包就行了。

    <dependency>  
        <groupId>org.springframework.boot</groupId>  
        <artifactId>spring-boot-devtools</artifactId>  
        <optional>true</optional>
    <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖myboot项目的项目如果想要使用devtools,需要重新引入 -->  
    </dependency>
    

    重新编译类文件
    当我们修改了一个java类的时候,我们只需要重新编译一下,SpringBoot的就会重启了。因为devtools会监听classpath下的文件变动,所以当java类重新编译的时候,devtools会监听到这个变化,然后就会重新启动SpringBoot。这个重启是非常快的一个过程。因为在SpringBoot中有两个类加载器,一个是加载工程外部资源的,如jar包,还有一个类加载器是用来加载本工程的class的。所以在重启SpringBoot的时候只加载本工程的class文件。
    监听文件夹的变化
    如果你不想重新编译java类的话,还有一种方式用来让SpringBoot重启,那就是让devtools监听文件夹的变化:比如我们想让com.zkn.learnspringboot这个文件夹下的文件改变的时候,重新启动SpringBoot,那么我们只要在application.properties中添加这样一句话就行了:

    spring.devtools.restart.additional-paths=com\zkn\learnspringboot
    

    页面热部署
    devtools可以实现页面热部署,即页面修改后会立即生效。你可以在application.properties文件中配置

    spring.thymeleaf.cache=false
    

    来实现这个功能。

    链接:https://www.jianshu.com/p/329cdd7f5478

  • 相关阅读:
    设计模式走一遍---观察者模式
    从0打卡leetcode之day 6--最长回文串
    回车与换行的故事
    线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)
    线程安全(上)--彻底搞懂volatile关键字
    从0打卡leetcode之day 5 ---两个排序数组的中位数
    聊一聊让我蒙蔽一晚上的各种常量池
    从零打卡leetcode之day 4--无重复最长字符串
    C4.5算法总结
    数据库游标使用
  • 原文地址:https://www.cnblogs.com/hozon/p/10284202.html
Copyright © 2011-2022 走看看