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中重写父类方法加不加@Override详解
Jun 21 Java/Android
Feign调用传输文件异常的解决
Jun 24 Java/Android
深入理解java.lang.String类的不可变性
Jun 27 Java/Android
Java常用函数式接口总结
Jun 29 Java/Android
springboot项目以jar包运行的操作方法
Jun 30 Java/Android
mybatis中sql语句CDATA标签的用法说明
Jun 30 Java/Android
springboot集成springCloud中gateway时启动报错的解决
Jul 16 Java/Android
java泛型通配符详解
Jul 25 Java/Android
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
Java处理延时任务的常用几种解决方案
Jun 01 Java/Android
springboot实现string转json json里面带数组
Jun 16 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数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
js类 from qq
2006/11/13 Javascript
Prototype Class对象学习
2009/07/19 Javascript
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
javascript时间函数大全
2014/06/30 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
javascript制作游戏开发碰撞检测的封装代码
2015/03/31 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
在create-react-app中使用sass的方法示例
2018/10/01 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python实现跨excel sheet复制代码实例
2020/03/03 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
python+requests接口自动化框架的实现
2020/08/31 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
员工自我鉴定
2013/10/09 职场文书
数据员岗位职责
2013/11/19 职场文书
超市5.1促销活动
2014/01/15 职场文书
什么样的创业计划书可行性高?
2014/02/01 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
励志演讲稿300字
2014/08/21 职场文书
国庆横幅标语
2014/10/08 职场文书