码迷,mamicode.com
首页 > 编程语言 > 详细

Springboot自动加载工具-devtools的理解与使用

时间:2020-06-29 11:20:46      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:div   time   tps   默认   声明   方法   rtc   修改   framework   

声明:本文参考自:https://blog.csdn.net/mylovewanzi/article/details/104059933

使用spring-boot-devtools的应用程序将在类路径上的文件发生更改时自动重新启动。

在pom.xml文件中加入一下依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-devtools</artifactId>
     <scope>runtime</scope>
     <optional>true</optional>
</dependency>

这里多了一个optional,为true表示项目在打包的时候不会被打包进项目中

此时,只要classpath下的文件发生了变化,项目就会自动重启,这极大的提高了项目的开发速度

要是项目自动编译,idea还需做一些简单的配置。

打开setting,勾选自动构建项目。

技术图片

 然后按住CTRL+SHIFT+ALT+/,调出如下页面:选择第一个

技术图片

 然后找到如下,并勾选:

技术图片

重启IDEA,这是你就可以使用devtools来自动构建项目了。

springboot中自动重启项目的原理:

  springboot中有两个类加载器,一个是basecalssloader,负责项目引用的第三方jar,这类jar有一种特新,就是不会变化;另一个加载器是restartcalssloader,它用来加载自己写的class,这写类是有可能变化的。当项目需要重启时,restartclassloader会被新创建的类加载器替代,而baseclassloader则不会,这要就省去了重新加载第三方jar包的时间,自然启动速度就比冷启动要快。

静态资源文件:
  默认情况下,静态资源文件的修改是不触发项目重启的。当然也不是不能,开发者可以自己定义。
需要在配置文件中添加:

spring.devtools.restart.exclude=static/**

这表示static目录下的静态资源文件的修改也会触发项目重启。
还有另一种方式,也是同样的效果:

spring.devtools.restart.additional-paths=src/main/resources/static

编码是一个连续的过程,有时候重启太频繁了,不仅浪费电脑性能,也浪费我的宝贵时间。有一个方法可以解决这个问题,就是在你需要重启项目时,修改一个指定的文件,只有这个指定的文件被修改才能触发重启项目,配置如下:

spring.devtools.restart.trigger-file=.trigger-file

其实静态资源文件的修改是没必要重启项目的,devtools默认键入了LiveReload服务器,可以解决静态资源的热部署。只需要在chrome安装livereload插件即可。

 技术图片

 

Springboot自动加载工具-devtools的理解与使用

标签:div   time   tps   默认   声明   方法   rtc   修改   framework   

原文地址:https://www.cnblogs.com/wk-missQ1/p/13206591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!