Spring Boot DevTools 全局配置学习指南


Posted in Java/Android onMarch 31, 2022

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

Spring Boot 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 全局配置学习指南

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

Spring Boot DevTools 全局配置学习指南

? 四、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

Spring Boot DevTools 全局配置学习指南

文件里随便填入一些字符

?? 4.3、测试类

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

?? 4.4、控制重启 Controller类

Spring Boot DevTools 全局配置学习指南

.reloadtrigger文件

Spring Boot DevTools 全局配置学习指南

请求http://localhost:8080/hello

Spring Boot DevTools 全局配置学习指南

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

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

重新编译之后:

Spring Boot DevTools 全局配置学习指南

结果仍不改变

我们现在修改.reloadtrigger文件

Spring Boot DevTools 全局配置学习指南

重新编译:

Spring Boot DevTools 全局配置学习指南

Spring Boot DevTools 全局配置学习指南

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

?? 4.5、总结

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

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

Java/Android 相关文章推荐
详解JAVA中的OPTIONAL
Jun 14 Java/Android
springcloud之Feign超时问题的解决
Jun 24 Java/Android
浅谈Python魔法方法
Jun 28 Java/Android
Java 泛型详解(超详细的java泛型方法解析)
Jul 02 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
Jul 26 Java/Android
Java中try catch处理异常示例
Dec 06 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
Spring Boot项目传参校验的最佳实践指南
Apr 05 Java/Android
Java中Dijkstra(迪杰斯特拉)算法
May 20 Java/Android
Java完整实现记事本代码
Jun 16 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 Java/Android
Spring事务管理下synchronized锁失效问题的解决方法
Mar 31 #Java/Android
Spring依赖注入多种类型数据的示例代码
Mar 31 #Java/Android
springboot layui hutool Excel导入的实现
spring注解 @PropertySource配置数据源全流程
Mar 25 #Java/Android
Netty客户端接入流程NioSocketChannel创建解析
Mar 25 #Java/Android
Java 超详细讲解设计模式之中的抽象工厂模式
Netty分布式客户端处理接入事件handle源码解析
You might like
第十二节--类的自动加载
2006/11/16 PHP
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
利用python如何处理nc数据详解
2018/05/23 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
美国市场上最实惠的送餐服务:Dinnerly
2018/03/18 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
最受欢迎的自我评价
2013/12/22 职场文书
市政管理求职信范文
2014/05/07 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
2015年社区妇联工作总结
2015/04/21 职场文书