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 相关文章推荐
深入理解以DEBUG方式线程的底层运行原理
Jun 21 Java/Android
详解Java线程池是如何重复利用空闲线程的
Jun 26 Java/Android
springboot拦截器无法注入redisTemplate的解决方法
Jun 27 Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 Java/Android
详解Spring Security中的HttpBasic登录验证模式
Mar 17 Java/Android
springboot layui hutool Excel导入的实现
Mar 31 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
Elasticsearch 配置详解
Apr 19 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
Springboot中如何自动转JSON输出
Jun 16 Java/Android
springboot实现string转json json里面带数组
Jun 16 Java/Android
Android移动应用开发指南之六种布局详解
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模板引擎SMARTY
2006/10/09 PHP
随机头像PHP版
2006/10/09 PHP
整合了前面的PHP数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
event.srcElement+表格应用
2006/08/29 Javascript
javascript iframe编程相关代码
2009/12/28 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
js 与 php 通过json数据进行通讯示例
2014/03/26 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
javascript移动端 电子书 翻页效果实现代码
2019/09/07 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
Python使用matplotlib绘制动画的方法
2015/05/20 Python
python通过ssh-powershell监控windows的方法
2015/06/02 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
使用Python从零开始撸一个区块链
2018/03/14 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
Python 如何查找特定类型文件
2020/08/17 Python
Python中Yield的基本用法
2020/10/18 Python
Django websocket原理及功能实现代码
2020/11/14 Python
《争吵》教学反思
2014/02/15 职场文书
小学社会实践活动总结
2014/07/03 职场文书
企业务虚会发言材料
2014/10/20 职场文书
复兴之路展览观后感
2015/06/02 职场文书
人力资源部工作计划
2019/05/14 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android