springboot自动重启及SpringBoot Developer tools简介

项目中引用了SpringBoot Developer tools,修改类后会自动重启。

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>
</dependencies>

springboot developer tools的作用

用于提升开发体验,比如修改类文件自动重启、修改静态文件热加载、提供属性默认值、远程debug等。打包时,默认并不会将devleloper tools打入,除非禁用excludeDevtools

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludeDevtools>false</excludeDevtools></configuration></plugin></plugins>
</build>

自动重启的原理

只要ClassPath有文件发生变化就会自动重启,自动重启的原理是,有一个BaseClassLoader加载library中的类,有一个RestartClassLoader加载开发的类,开发的类变更了,则创建新的RestartClassLoader加载开发类,丢弃老的RestartClassLoader;有时,修改了注释、加个空行、都自动重启,这是不合时宜的,而且使用intellij idea本身就会热加载,不需要重启(热加载和重启是不同的),禁用SpringBoot Developer tools的自动重启功能,有两个办法

  • 在application.yml或application.properties中配置spring.devtools.restart.enabled为false,这种RestartClassLoader仍然加载类,但不再监控类变化。

  • 在调用SpringApplication.run之前,配置System property完全禁用,这种就不会创建RestartClassLoader

    public static void main(String[] args) {System.setProperty("spring.devtools.restart.enabled", "false");SpringApplication.run(MyApp.class, args);
    }
    

顺便提一句,SpringBoot Developer tools还提供了默认的属性值,比如 template engines (FreeMarker、Thymeleaf、Mustache)默认会缓存编译文件以提高效率,但在开发阶段这是不合时宜的,所以SpringBoot Developer tools提供的spring.thymeleaf.cache是false,完整的属性默认值可参考DevToolsPropertyDefaultsPostProcessor.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162364.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BTS-GAN:基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统

BTS-GAN: Computer-aided segmentation system for breast tumor using MRI and conditional adversarial networks BTS-GAN&#xff1a;基于MRI和条件对抗性网络的乳腺肿瘤计算机辅助分割系统背景贡献实验方法Parallel dilated convolution module&#xff08;并行扩展卷积模块…

逸学java【初级菜鸟篇】9.5枚举

hi&#xff0c;我是逸尘&#xff0c;一起学java吧 枚举是信息的标志和分类 当一个变量有几种固定可能的取值时&#xff0c;就可以将它定义为类型的枚举。 优点&#xff1a;代码可读性好&#xff0c;入参约束严谨&#xff0c;代码优雅&#xff0c;是最好的信息分类技术&#x…

【AI读论文】AutoML的8年回顾:分类、综述与趋势

论文标题&#xff1a;Eight years of AutoML: categorisation, review and trends 论文链接&#xff1a;https://link.springer.com/article/10.1007/s10115-023-01935-1 本文主要围绕自动机器学习&#xff08;AutoML&#xff09;展开了系统性的文献综述&#xff0c;总结了该领…

【文末送书】重磅!这本30w人都在看的Python数据分析畅销书:更新了!

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和技术。关…

div中添加el-loading(局部loading的使用)

效果&#xff1a;在div中实现el-loading <div class"content-main">{{ hotList }}</div>getHotList(columnType) {this.$nextTick(() > {var loading this.$loading({lock: true,text: "努力加载中...",spinner: "el-icon-loading&qu…

揭示卡尔曼滤波器的威力

一、说明 作为一名数据科学家&#xff0c;我们偶尔会遇到需要对趋势进行建模以预测未来值的情况。虽然人们倾向于关注基于统计或机器学习的算法&#xff0c;但我在这里提出一个不同的选择&#xff1a;卡尔曼滤波器&#xff08;KF&#xff09;。 1960 年代初期&#xff0c;Rudol…

天池 机器学习算法(一): 基于逻辑回归的分类预测

pytorch实战 课时7 神经网络 MSE的缺点&#xff1a;偏导值在输出概率值接近0或者接近1的时候非常小&#xff0c;这可能会造成模型刚开始训练时&#xff0c;偏导值几乎消失&#xff0c;模型速度非常慢。 交叉熵损失函数&#xff1a;平方损失则过于严格&#xff0c;需要使用更合…

开始通过 Amazon SageMaker JumpStart 在亚马逊云科技上使用生成式 AI

目前&#xff0c;生成式 AI 正受到公众的广泛关注&#xff0c;人们围绕着许多人工智能技术展开讨论。很多客户一直在询问有关亚马逊云科技生成式 AI 解决方案的更多信息&#xff0c;本文将为您进行解答。 这篇文章通过一个真实的客户使用案例概述了生成式 AI&#xff0c;提供了…

感恩节99句祝福语,感恩父母老师朋友亲人朋友们,永久快乐幸福

1、流星让夜空感动&#xff0c;生死让人生感动&#xff0c;爱情让生活感动&#xff0c;你让我感动&#xff0c;在感恩节真心祝福你比所有的人都开心快乐。 2、感恩节到了&#xff0c;想问候你一下&#xff0c;有太多的话语想要说&#xff0c;但是不知从何说起&#xff0c;还是用…

定位鼠标悬浮才出现的元素

第一步&#xff1a;按F12进入开发者模式 第二步&#xff1a;点击Sources. 第三步&#xff1a;鼠标进入&#xff0c;触发悬浮框弹出&#xff0c;然后鼠标停止不要移动。 第四步&#xff1a;按F8 或者&#xff08;Ctrl\&#xff09;&#xff0c;正常情况下&#xff0c;此时页…

让SOLIDWORKS Composer动画在PPT中随意转换

SOLIDWORKS Composer作为一款易学易用的技术图解软件&#xff0c;非常适合用来给客户展示自己的产品。这里我们教大家如何将Composer文件插入大PPT中&#xff0c;并任意切换文件&#xff0c;用以给客户展示不用的方案和产品。 1.首先大家要安装SOLIDWORKS Composer Player 这个…

【2021集创赛】基于ARM-M3的双目立体视觉避障系统 SOC设计

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位&#xff1a;上海电力大学 队伍名称&#xff1a;骇行队 总决赛奖项&#xff1a;二等奖 1.摘要 随着信息技术的发展&#xff0c;AGV&#xff08;Automated Guided Vehic…

21款奔驰GLC260L升级HUD抬头显示 平视仪表信息

随着科技飞速地发展&#xff0c;从汽车领域就可以看出&#xff0c;尤其是汽车的抬头显示器&#xff0c;一经推出就吸引了很多的车主。 升级HUD抬头显示&#xff0c;HUD与汽车系统进行完整的数据信息连接&#xff0c;整合成大数据&#xff0c;然后将一些重要信息映射到车窗玻璃…

中低压MOSFET 2N7002W 60V 300mA 双N通道 SOT-323封装

2N7002W小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-323封装形式。超高密度电池设计&#xff0c;适用于极低的ros (on)&#xff0c;具有导通电阻和最大直流电流能力&#xff0c;ESD保护。可应用于笔记本中的电源管理&#xff0c;电池供电系统等产品应…

VUE3+Springboot实现SM2完整步骤

一.VUE3代码实现 1.安装依赖 npm install --save sm-crypto 2.导入sm2 const sm2 require(sm-crypto).sm2 3.定义公钥私钥 var privateKey "私钥";//解密使用 var publicKey "公钥";//加密使用 4.设置加密模式 //cipherMode [加密模式 C1C3C2:1,…

2023亚太杯数学建模竞赛C题思路分析+代码+论文

C题&#xff1a;The Development Trend of New Energy Electric Vehicles in China中国谈新能源电动汽车的发展趋势 新能源汽车是指采用先进的技术原理、新技术和新结构&#xff0c;以非常规车用燃料为动力来源(非常规车用燃料是指除汽油和柴油以外的燃料)&#xff0c;并集成了…

通过Everything 建立HTTP服务器时指定文件夹共享

在局域网传输文件&#xff0c;高效传输&#xff0c;不限文件大小 1、安装Everything 2、在Everything开启HTTP服务 【工具】—>>【选项】—>>【HTTP服务】启用HTTP服务器&#xff0c;设置HTTP服务器用户名和密码 3、查看网络信息 打开服务端电脑的【命令提示…

SpringCache使用详解

SpringCache 1.新建测试项目SpringCache2.SpringCache整合redis2.1.Cacheable2.2.CacheEvict2.3.Cacheput2.4.Caching2.5.CacheConfig 3.SpringCache问题4.SpringCache实现多级缓存 1.新建测试项目SpringCache 引入依赖 <dependencies><dependency><groupId&g…

el-table如何动态增加列

el-table如何动态添加列&#xff1a; 1. 将数据从列表中抛出来直接放到对象中&#xff1a; data.forEach(el > {el.shipList.forEach(item > {el[item.FieldTag] item.DateTimeValue;});}); 2. 网页&#xff1a; planFormList是列表内容&#xff0c;循环出来当做表头。…

内裤洗衣机有用吗?口碑最好的小型洗衣机

想必各位小伙伴都知道我们的贴身衣物&#xff0c;不可以与其他衣服一起在洗衣机中清洗&#xff0c;每次都需要把内衣裤挑选出来手洗&#xff0c;但是我们每天都要上厕所&#xff0c;难免会沾上污渍和细菌&#xff0c;我们在用手搓洗的过程中很难把细菌给清除掉&#xff0c;所以…