2020年11月12日,Spring官方发布了Spring Boot 2.4.0 GA的公告。

在这个版本中增加了大量的新特性和改进,下面我们一起看看在这个重要版本中都有哪些值得关注的内容!

更新内容

  1. 版本命名的更改,从2.4开始,版本名将去除RELEASE后缀,所以这次的版本不是2.4.0.RELEASE,而是2.4.0

  2. 改进了 application.properties 和 application.yml 文件的处理方式。如果您只有一个简单的 application.properties 或 application.yml 文件,那么您的升级应该是无缝的。但是,如果您有更复杂的设置,那么如果您想使用新特性,则可能需要进行一些更改。更细节的内容可参考:

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-Config-Data-Migration-Guide

  1. 新的 spring.config.import 属性可用于导入 Kubernetes 中常用的配置树。

  2. 现在可以使用一个新的startup端点来显示有关应用程序启动的信息。这个端点可以帮助您识别比预期启动时间更长的 bean。

  3. Docker/Buildpack的支持,可以更方便的构建镜像

  4. 完美支持Java 15

  5. 相关依赖的升级

  • Spring AMQP 2.3
  • Spring Batch 4.3
  • Spring Data 2020.0
  • Spring Framework 5.3
  • Spring HATEOAS 1.2
  • Spring Integration 5.4
  • Spring Kafka 2.6
  • Spring Retry 1.3
  • Spring Security 5.4
  • Spring Session 2020.0
  1. 嵌入式数据库的检测逻辑改进,只有当数据库在内存中时才视为嵌入式数据库。所以,如果当你对 H2、 HSQL 和 Derby 采用文件形式持久化的时候将不会自动初始化

  2. Logback配置属性的更改

  • logging.pattern.rolling-file-name → logging.logback.rollingpolicy.file-name-pattern
  • logging.file.clean-history-on-start → logging.logback.rollingpolicy.clean-history-on-start
  • logging.file.max-size → logging.logback.rollingpolicy.max-file-size
  • logging.file.total-size-cap → logging.logback.rollingpolicy.total-size-cap
  • logging.file.max-history → logging.logback.rollingpolicy.max-history
  1. 默认情况下,不在 HTTP traces中包含 Cookie 请求头和 set-Cookie 响应头。如果从 Spring Boot 2.3升级的话,需要将 management.trace.http.include 配置设置为 cookies、 errors、 request-headers、 response-headers。

  2. Undertow 在转发请求时将保留原始请求 URL。这个版本覆盖了 Undertow 的默认设置,以符合 Servlet 规范。当然,你也可以将属性 server.undertow.preserve-path-on-forward 设置为 true,来恢复 Undertow 的默认行为。

  3. 使用ES的用户需要注意,这个版本中不再自动配置低级的 Elasticsearch RestClient,但 RestHighLevelClient 仍然是可以自动配置的。建议用户不应该使用低级的客户端,应该使用更高级的客户端的,所以这样的改动应该不会影响太多用户。

  4. 如果你正在使用 Flyway 5,请确保在升级到 Spring Boot 2.4之前升级到 Flyway 6,因为 Flyway 只对一个功能版本进行模式升级。

本文首发于:Spring Boot 2.4.0 正式发布!全新的配置处理机制,拥抱云原生!,转载请注明出处

参考资料

欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~

Spring Boot 2.4.0 正式发布!全新的配置处理机制,拥抱云原生!的更多相关文章

  1. Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)

    千里之行,始于足下.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://www.you ...

  2. Spring Boot 2.2.0 正式发布,支持 JDK 13!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 推荐阅读: Spring Boot 2.2.0 正式发布了,可从 repo.spring.io 或是 Maven Centr ...

  3. Spring Boot 2.3.0正式发布:优雅停机、配置文件位置通配符新特性一览

    当大潮退去,才知道谁在裸泳..关注公众号[BAT的乌托邦]开启专栏式学习,拒绝浅尝辄止.本文 https://www.yourbatman.cn 已收录,里面一并有Spring技术栈.MyBatis. ...

  4. Spring Boot 2.6.0正式发布:默认禁止循环依赖、增强Docker镜像构建...

    昨天,Spring官方正式发布了Spring Boot今年最后一个特性版本:2.6.0 同时,也宣布了2.4.x版本的终结. 那么这个新版本又带来了哪些新特性呢?下面就一起跟着DD来看看吧! 重要特性 ...

  5. Spring Boot 2.2.0新特性

    Spring Boot 2.2.0 正式发布了,可从 repo.spring.io 或是 Maven Central 获取. 性能提升   Spring Boot 2.2.0 的性能获得了很大的提升. ...

  6. Spring Boot 2.1.0 已发布,7 个重大更新!

    距离<重磅:Spring Boot 2.0 正式发布!>已经过去大半年了,而 Spring Boot 2.1.0 在 10 月底就发布了,我们来看下 Spring Boot 2.1.0 都 ...

  7. Spring Boot 2.2.1 正式发布,需特别注意这个注解的使用!

    Spring Boot 2.2.1 已于2019年11月7日正式发布. 该版本内容包含110项修复.改进和依赖升级. 如果开发者要从Spring Boot 2.2.0升级到2.2.1的话,这里要特别注 ...

  8. Spring Boot 2.4.0 发布,配置文件重大调整,不要乱升级!!

    前段时间 Spring Boot 2.4.0 发布了,栈长作了一个新特性全盘解读,其中介绍了一个很重要的变革,那就是配置文件. 配置文件可是每个框架的核心,不得不搞清楚,所以,这篇栈长就带大家深入实战 ...

  9. Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?

    前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整.那么今天就要详细说说这个重新设计的配置内容,并结合实际情况说说我 ...

随机推荐

  1. rxjs入门4之rxjs模式设计

    观察者模式 (Observer Pattern) 观察者模式其实在日常编码中经常遇到,比如DOM的事件监听,代码如下 function clickHandler(event) { console.lo ...

  2. centos7.5安装gcc7.2.0

    参考https://www.cnblogs.com/lazyInsects/p/9778910.html cd /usr/src wget https://mirrors.tuna.tsinghua. ...

  3. Socket编程,C语言版!

    socket编程--send函数&recv函数详解 一.send函数 ✍ 函数原型: int send( SOCKET s,char *buf,int len,int flags ); ✍ 功 ...

  4. spring boot:构建多模块项目(spring boot 2.3.1)

    一,为什么要使用多模块? 1,结构更清晰,方便管理    如果只是一个小项目当然没有问题,    但如果功能越增越多则管理越来越复杂,    多模块可以使项目中模块间的结构分离   2,把项目划分成多 ...

  5. oracle统计同一字段0和1

    SELECT 班级表.班级编号,班级表.班级名称,SUM(DECODE(性别, '1', 1)) 女生人数,SUM(DECODE(性别, '0', 1)) 男生人数FROM 学生表, 班级表WHERE ...

  6. CentOS7使用firewalld管理防火墙

    firewalld的基本使用 #启动 systemctl start firewalld #关闭 systemctl stop firewalld #查看状态 systemctl status fir ...

  7. C#8.0之后接口已经不再单纯了,我懵逼了!

    一:背景 1. 讲故事 大家在经过面向对象洗礼的时候,都了解过接口,而且知道它是一种自上而下的设计思路,举个例子,我们电脑上都有 USB 2.0 接口,蓝牙耳机实现了它可以进行充电,移动硬盘实现了它可 ...

  8. docker是个啥?

    docker 第一问:什么是容器 容器就是在一个隔离的环境中运行的一个进程.注意关键词,隔离和进程.如果进程停止,那么容器就销毁.因为具有隔离的特点,所以每个容器都拥有自己的文件系统:包括IP地址.主 ...

  9. cp: cannot stat: filepath Permission denied

    在执行 cp -r frompath topath时,报错cp: cannot stat: frompath Permission denied. 百度,google都没有找到解决方案,无意中发现,原 ...

  10. revel run报错 undefined: sys call.SIGUSR2"

    revel run报错,报错信息为 o Compilation Error (in ..\\..\\revel\\server_adapter_go.go:135): undefined: sysca ...