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知识点
Jun 28 Java/Android
Lombok的详细使用及优缺点总结
Jul 15 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
Java中CyclicBarrier和CountDownLatch的用法与区别
Aug 23 Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 Java/Android
Spring依赖注入多种类型数据的示例代码
Mar 31 Java/Android
Spring Boot DevTools 全局配置学习指南
Mar 31 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 Java/Android
Android实现图片九宫格
Jun 28 Java/Android
Java Redisson多策略注解限流
Sep 23 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
php无限遍历目录示例
2014/02/21 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
在javascript中关于节点内容加强
2013/04/11 Javascript
Jquery attr(&quot;checked&quot;) 返回checked或undefined 获取选中失效
2013/10/10 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
express框架下使用session的方法
2019/07/31 Javascript
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
python 字符串split的用法分享
2013/03/23 Python
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python中的闭包用法实例详解
2015/05/05 Python
python实现根据文件格式分类
2019/10/31 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python autoescape标签用法解析
2020/01/17 Python
解决python 找不到module的问题
2020/02/12 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
动态密码技术
2012/10/18 面试题
生产副总岗位职责
2013/11/28 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Python实现排序方法常见的四种
2021/07/15 Python
vue组件vue-esign实现电子签名
2022/04/21 Vue.js