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. golang RSA2加密/解密

    $go get github.com/wenzhenxi/gorsa test.go文件的内容 运行: $go run test.go package main import ( "fmt& ...

  2. element中过滤器filters的使用(开发小记)

    之前在开发过程中遇到这么一个问题,一串数据需要在el-table中展示,其中含有金额字段,需要将其转换成标准数据格式,即三位一个逗号间隔. 今年刚毕业就上手项目了,第一次接触的Vue,开发经验少,也忘 ...

  3. day32 Pyhton hashlib模块 总结异常处理

    一.当用明文密码进行信息存储的时候,会导致密码的泄露,如何解决问题 通过导入hashlib模块,利用里面存在的算法对字符串进行加密计算得到一串密文的结果 1.这个过程不可逆 2.对于同一个字符串,同一 ...

  4. 快速解读linq语法

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  5. package wang/test is not in GOROOT (/usr/local/go/src/wang/test)

    如果要用 gopath模式 引入包 从src目录下开始引入 需要关闭 go mod 模式 export GO111MODULE=off 如果使用go mod 模式 export GO111MODULE ...

  6. selenium-滚动

    移动到指定的坐标(相对当前的坐标移动) driver.execute_script("window.scrollBy(0, 700)"); 移动到窗口绝对位置坐标,如下移动到纵坐标 ...

  7. Redis Lua脚本完全入门

    1. 前言 Redis是高性能的KV内存数据库,除了做缓存中间件的基本作用外还有很多用途,比如胖哥以前分享的Redis GEO地理位置信息计算.Redis提供了丰富的命令来供我们使用以实现一些计算.R ...

  8. 在centos下启动nginx出现Failed to start nginx.service:unit not found

    错误的原因就是没有添加nginx服务,所以启动失败. 解决方法: 1.    在/root/etc/init.d/目录下新建文件,文件名为nginx 或者用命令在根目录下执行:# vim /etc/i ...

  9. mysql 改变表结构 alter

    总结:alter添加栏位时,只需记住添加新栏位为第一列,用first;添加其他用,after 前一个栏位字段,如下例 1.需求:将新的栏位添加为第二列 添加前: 添加后: 参考:http://www. ...

  10. docker compose 用法

    目录 docker compose的使用场景 一个基本的demo演示 找一个目录,在其中创建一个python文件app.py 在相同的文件夹下,创建requirements.txt文件 在相同的文件夹 ...