SpringBoot热部署

项目地址:https://github.com/yexuebm/utils
同步博客地址:http://blog.yexuejc.top/article/5

SpringBoot热部署

利用SpringBoot为我们提供了一个非常方便的工具spring-boot-devtools

pom.xml

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

重新编译类文件

<p>当我们修改了一个java类的时候,我们只需要重新编译一下,SpringBoot的就会重启了。
因为devtools会监听classpath下的文件变动,所以当java类重新编译的时候,devtools会监听到这个变化,
然后就会重新启动SpringBoot。
这个重启是非常快的一个过程。因为在SpringBoot中有两个类加载器,一个是加载工程外部资源的,如jar包,
还有一个类加载器是用来加载本工程的class的。所以在重启SpringBoot的时候只加载本工程的class文件。
</p>

监听文件夹的变化

让devtools监听文件夹的变化,不重新编译java类的。
比如我们想让main下的文件改变的时候,springboot重新启动

配置 application.properties

// util-simple从项目开始 加“/”绝对路径
spring.devtools.restart.additional-paths=util-simple/src/main

页面热部署

使用thymeleaf模板时,devtools可以实现页面热部署,即页面修改后会立即生效。

配置 application.properties

spring.thymeleaf.cache=false
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在SpringBoot中启用热部署是非常简单的一件事,因为SpringBoot为我们提供了一个非常方便的工具spr...
    wyatt_plus阅读 906评论 0 2
  • 本地开发过程中,一个小小的功能变化,测试的时候,都需要重启应用,这样启动项目的时间,可能比改动需要的时间还多,sp...
    时之令阅读 550评论 0 1
  • 1. 开始 SpringBoot热部署有三种方式 第一种:Spring Loaded 第二种:Spring-boo...
    lucode阅读 2,774评论 0 2
  • 声明Pass名字 使用Pass
    晓龙酱阅读 134评论 0 0
  • 时间的力量 在大地上留下痕迹 岁月的巨轮 在车道间辗碎凹凸 跟不上抒情的节奏 跟不上老化的步调 悠悠的岁月渗出了血...
    檀叔阅读 223评论 0 1