Spring Boot DevTools 全局配置学习指南

 更新时间:2022年03月31日 16:22:37   作者:泠青沼~  
这篇文章主要介绍了Spring Boot DevTools 全局配置,注意包括直接重启项目与devtools重启的区别,DevTools配置,DevTools全局配置及trigger-file控制重启行为的相关知识,需要的朋友可以参考下

🌟 一、直接重启项目与devtools重启的区别

我们在加入devtools依赖后就可以使用第一个按钮,而第二个按钮是我们平常使用最多的按钮,两者最大的区别就是再修改项目代码后重启项目的部分不一样,第一个按钮(锤子按钮)是重新加载所有已经改变的类和一些用户编写的代码,不会重新加载第三方的插件和依赖以及库,很省时间;但是第二个按钮就会重新加载项目的所有资源,很浪费cpu资源;所以我们开发通常会使用devtools来辅助开发

🌟 二、DevTools配置

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

只要代码修改之后,点击编译按钮(绿色锤子)就会重启项目,重新加载所有已经改变的类和一些用户编写的代码,不会重新加载第三方的插件和依赖以及库

🌟 三、DevTools全局配置

在系统的当前用户的目录下新建一个文件名为.spring-boot-devtools.properties的文件,里面就可以编写application.properties中关于devtools的配置,不过与application.properties不同的是全局配置文件是所有启动的项目都会去加载这个配置文件,而application.properties只是本项目才会去加载

🌟 四、trigger-file控制重启行为

🌟🌟 4.1、配置

以下二者选一即可,前者项目配置,后者全局配置

application.properties配置

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

.spring-boot-devtools.properties配置

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

🌟🌟 4.2、新建文件.reloadtrigger

文件里随便填入一些字符

🌟🌟 4.3、测试类

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String getdev(){
        return "hello  devtools  123";
    }
}

🌟🌟 4.4、控制重启 Controller类

.reloadtrigger文件

请求http://localhost:8080/hello

之后我们修改Controller代码,但我们并不修改.reloadtrigger文件

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String getdev(){
        return "hello  devtools  1234";
    }
}

重新编译之后:

结果仍不改变

我们现在修改.reloadtrigger文件

重新编译:

项目重启,并且重新更新,将修改后的代码生成

🌟🌟 4.5、总结

控制重启行为就是不再是devtools在代码被修改之后自动去重启,而是由我们人工通过.reloadtrigger文件的修改来控制项目自动的重启行为

到此这篇关于Spring Boot DevTools 全局配置的文章就介绍到这了,更多相关Spring Boot DevTools内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot ResponseBody返回值处理的实现

    SpringBoot ResponseBody返回值处理的实现

    这篇文章主要介绍了SpringBoot ResponseBody返回值处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Spring Boot整合RabbitMQ实例(Topic模式)

    Spring Boot整合RabbitMQ实例(Topic模式)

    Topic Exchange 转发消息主要是根据通配符。接下来通过本文给大家分享Spring Boot整合RabbitMQ实例(Topic模式),需要的朋友参考下吧
    2017-04-04
  • 详解Java中Method的Invoke方法

    详解Java中Method的Invoke方法

    这篇文章主要介绍了详解Java中Method的Invoke方法,需要的朋友可以参考下
    2017-10-10
  • 浅谈java中字节与字符的区别

    浅谈java中字节与字符的区别

    这篇文章主要介绍了浅谈java中字节与字符的区别,字节是java中的基本数据类型,用来申明字节型的变量;字符是语义上的单位,它是有编码的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java8中使用一行代码读取文件

    Java8中使用一行代码读取文件

    这篇文章主要介绍了Java8中使用一行代码读取文件,要注意,本文介绍的方法不适合读取很大的文件,因为可能存在内存空间不足的问题,需要的朋友可以参考下
    2015-03-03
  • Hibernate框架中的缓存技术详解

    Hibernate框架中的缓存技术详解

    这篇文章主要介绍了Hibernate框架中的缓存技术,结合实例形式详细分析了Hibernate框架缓存机制的原理与具体使用技巧,需要的朋友可以参考下
    2016-03-03
  • StringUtils,CollectionUtils判断为空的方法和原生代码哪个效率最高

    StringUtils,CollectionUtils判断为空的方法和原生代码哪个效率最高

    这篇文章主要介绍了StringUtils,CollectionUtils判断为空的方法和原生代码哪个效率最高,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java中如何获取时间戳的方法实例

    java中如何获取时间戳的方法实例

    时间戳通常是一个字符序列,唯一地标识某一刻的时间,所以下面这篇文章主要给大家介绍了关于java中如何获取时间戳的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-11-11
  • 详解如何实现SpringBoot的底层注解

    详解如何实现SpringBoot的底层注解

    今天给大家带来的文章是如何实现SpringBoot的底层注解,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴很有帮助,需要的朋友可以参考下
    2021-06-06
  • Java 基础:string中的compareTo方法

    Java 基础:string中的compareTo方法

    这篇文章主要介绍了Java 基础:string中的compareTo方法,文章围绕string中的compareTo方法的相关资料展开文章详细内容,希望对待大家有所帮助
    2021-12-12

最新评论