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 相关文章推荐
Spring Data JPA使用JPQL与原生SQL进行查询的操作
Jun 15 Java/Android
SpringCloud的JPA连接PostgreSql的教程
Jun 26 Java/Android
Java SSH 秘钥连接mysql数据库的方法
Jun 28 Java/Android
详解Spring事件发布与监听机制
Jun 30 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
SpringMVC 整合SSM框架详解
Aug 30 Java/Android
Jpa Specification如何实现and和or同时使用查询
Nov 23 Java/Android
SpringCloud Feign请求头删除修改的操作代码
Mar 20 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
mybatis 获取更新记录的id
May 20 Java/Android
Java处理延时任务的常用几种解决方案
Jun 01 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
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 引用是个坏习惯
2010/03/12 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
php实现微信公众号无限群发
2015/10/11 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
围观tangram js库
2010/12/28 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
详解使用angular的HttpClient搭配rxjs
2017/09/01 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
小程序api实现promise封装过程解析
2019/11/21 Javascript
Js和VUE实现跑马灯效果
2020/05/25 Javascript
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
2014/06/18 Python
python基础教程之Hello World!
2014/08/29 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python json转字典字符方法实例解析
2020/04/13 Python
2015年化验员工作总结
2015/04/10 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
KTV员工管理制度
2015/08/06 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL