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 相关文章推荐
springboot @ConfigurationProperties和@PropertySource的区别
Jun 11 Java/Android
springboot利用redis、Redisson处理并发问题的操作
Jun 18 Java/Android
Java新手教程之ArrayList的基本使用
Jun 20 Java/Android
Java常用工具类汇总 附示例代码
Jun 26 Java/Android
Springboot使用Spring Data JPA实现数据库操作
Jun 30 Java/Android
详解Spring Boot使用系统参数表提升系统的灵活性
Jun 30 Java/Android
浅谈Java父子类加载顺序
Aug 04 Java/Android
MyBatis配置文件解析与MyBatis实例演示
Apr 07 Java/Android
Java版 单机五子棋
May 04 Java/Android
解决spring.thymeleaf.cache=false不起作用的问题
Jun 10 Java/Android
SpringBoot深入分析讲解监听器模式下
Jul 15 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 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
phpMyAdmin 安装及问题总结
2009/05/28 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
2013/12/27 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
2020/01/03 Python
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
如何提高JDBC的性能
2013/04/30 面试题
文明家庭先进事迹材
2014/01/27 职场文书
大学生个人求职口试自我评价
2014/02/16 职场文书
投标承诺书怎么写
2014/05/24 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
青年标兵事迹材料
2014/08/16 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang