Spring Boot 2.7.0发布,2.5停止维护,节奏太快了吧
这几天是Spring版本日,很多Spring工件都发布了新版本, Spring Framework 6.0.0 发布了第 4 个里程碑版本,此版本包含所有针对 5.3.20 的修复补丁,以及特定于 6.0 分支的 39 项修复和改进。而今天Spring Boot 2.7.0和Spring Security的一个分支都发布了新版本,尤其Spring Boot 2.7.0,它是一个非常重要的版本。
Spring Boot 2.7.0
今天最重要的是 Spring Boot 2.7.0 的发布,此版本添加了大量新功能和改进,是一个非常重要的版本。东西太多挑重点说一下。
自动配置的更改
Spring Boot 2.7.0对自动配置进行了不小的改动。
自动配置注册
现在Spring 自动配置类全限定名在META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports. 中;而以前在 META-INF/spring.factories中。现在仍然向后兼容,它们两个都会生效,但是不推荐从spring.factories加载自动配置。
新的@AutoConfiguration 注解
引入了新的@AutoConfiguration注释。 这个类用于声明在上面自动配置注册中的AutoConfig类,它替代了@Configuration,只有自动配置类才能使用。你还可以通过其 after、afterNames、before、beforeNames 属性代替 @AutoConfigureAfter和@AutoConfigureBefore
@AutoConfiguration(after = SecurityAutoConfiguration.class)
@ConditionalOnWebApplication(type = Type.SERVLET)
@EnableConfigurationProperties(SecurityProperties.class)
@ConditionalOnClass({ AbstractSecurityWebApplicationInitializer.class, SessionCreationPolicy.class })
public class SecurityFilterAutoConfiguration {
}
测试自动化配置
如果你创建了自己的自动化配置类测试,你也应该参考上面自动配置注册的方式配置自动化配置类。参考Spring Boot项目中的spring-boot-test-autoconfigure模块。
@SpringBootTest 配置项优先级
现在你可以通过@SpringBootTest 的properties属性或@TestPropertySource注解添加的测试属性,它的优先级高于通过命令行传递给args的属性。
新的Flyway模块
Spring Boot 2.7 升级到 Flyway 8.5(从 8.0)。自 8.0 版本以来,Flyway 对多个数据库的支持已被提取到新模块中:
flyway-firebird(Firebird)flyway-mysql(MariaDB and MySQL)flyway-sqlserver(SQL Server)
如果您使用 Flyway 管理上述数据库,请添加相应新模块的依赖项。
H2数据库的2.1版本
Spring Boot 2.7 已经升级到 H2 2.1.120。 H2 2.x 向后不兼容并修复了许多安全漏洞。
OkHttp 4
由于 OkHttp 3 不再维护 ,Spring Boot 2.7 已升级到 OkHTTP 4。作为此次升级的一部分,用于控制 OkHttp 版本的属性已从 okhttp3.version 更改为 okhttp.version。如果你希望使用OkHttp 3,请修改为对应版本。
对 Elasticsearch 的 RestHighLevelClient 的支持已弃用
Elasticsearch 已弃用其RestHighLevelClient. 与此一致,Spring Boot 的自动配置RestHighLevelClient已被弃用。在可能的情况下,应使用自动配置的低级别RestClient。或者,考虑手动配置新客户端。
Spring Boot 2.5 的弃用
在 Spring Boot 2.5 中不推荐使用的类、方法和属性已在此版本中删除。请确保在升级之前您没有调用过时的方法。
注意:Spring Boot 2.5 版本已经停止OSS支持, 不再提供免费的安全更新和错误修复 。
Spring GraphQL 支持
Spring Boot 2.7现在支持Spring GraphQL,对应的starter是spring-boot-starter-graphql。GraphQL是一种用于API的查询语言,同时也是一个可以满足数据查询的语言。
不透明令牌自省优化
如果您在 OAuth2 资源服务器中使用不透明令牌自省,则自动配置的自省不再需要对 com.nimbusds:oauth2-oidc-sdk 的依赖。您能够从应用程序中删除该依赖项。
Couchbase和Elasticsearch测试注解
增加了@DataCouchbaseTest和@DataElasticsearchTest分别用来测试Couchbase和Elasticsearch数据库。
Podman支持
Maven 和 Gradle 插件现在支持在使用 Cloud Native Buildpacks 构建映像时使用 Podman 容器引擎作为 Docker 引擎的替代方案。
难道Docker不香了吗?
Cache2k 支持
添加了对缓存Cache2k的依赖项管理和自动配置。可以通过定义Cache2kBuilderCustomizerbean 来自定义默认缓存设置。
Jackson Mixin 简化注册
Jackson 的自动配置现在将扫描您的应用程序包以查找带有@JsonMixin注解的Mixin类并注册到 ObjectMapper。
其它
还有其它一些依赖升级,具体看官方的发行说明。
Spring Security
在昨天Spring Security 5.7.1, 5.6.5, 5.5.8相继发布,在此之前Spring Security 6.6.0的M5版本发布。
总结
现在版本迭代越来越快了,需要我们紧跟步伐,稍不注意就落后一大截了,学习压力是真的大,新版本我都会去学一学,但是现在感觉力不从心了,太快了。
关注公众号:Felordcn 获取更多资讯
Spring Boot 2.7.0发布,2.5停止维护,节奏太快了吧的更多相关文章
- Spring Boot 2.4.0 发布,配置文件重大调整,不要乱升级!!
前段时间 Spring Boot 2.4.0 发布了,栈长作了一个新特性全盘解读,其中介绍了一个很重要的变革,那就是配置文件. 配置文件可是每个框架的核心,不得不搞清楚,所以,这篇栈长就带大家深入实战 ...
- Spring Boot 2.5.0 发布:支持Java16、Gradle 7、Datasource初始化机制调整
今年520的事情是真的多,娱乐圈的我们不管,就跟DD一起来看看 Spring Boot 2.5.0 的发布吧!看看都带来了哪些振奋人心的新特性和改动! 主要更新 支持 Java 16 支持 Gradl ...
- Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?
前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整.那么今天就要详细说说这个重新设计的配置内容,并结合实际情况说说我 ...
- Spring Boot 2.5.0 重新设计的spring.sql.init 配置有何用?
前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整.那么今天就要详细说说这个重新设计的配置内容,并结合实际情况说说我 ...
- Spring Boot 2.1.0 已发布,7 个重大更新!
距离<重磅:Spring Boot 2.0 正式发布!>已经过去大半年了,而 Spring Boot 2.1.0 在 10 月底就发布了,我们来看下 Spring Boot 2.1.0 都 ...
- (转)Spring Boot 2 (九):【重磅】Spring Boot 2.1.0 权威发布
http://www.ityouknow.com/springboot/2018/11/03/spring-boot-2.1.html 如果这两天登录 https://start.spring.io/ ...
- 【重磅】Spring Boot 2.1.0 权威发布
如果这两天登录 https://start.spring.io/ 就会发现,Spring Boot 默认版本已经升到了 2.1.0.这是因为 Spring Boot 刚刚发布了 2.1.0 版本,我们 ...
- Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像。
背景:Spring Boot 集成servlet,发布为可直接运行的war包,方便后续打包为docker镜像. 原文地址 https://github.com/weibaohui/springboot ...
- Spring Boot 2.2.0新特性
Spring Boot 2.2.0 正式发布了,可从 repo.spring.io 或是 Maven Central 获取. 性能提升 Spring Boot 2.2.0 的性能获得了很大的提升. ...
随机推荐
- 攻防世界 easytornado
easytornado 进入环境就这样子 我们逐一访问看看 进入flag.txt提示flag in /fllllllllllllag我们访问fllllllllllllag看看 报了一个error,且在 ...
- STM32 之 HAL库(固件库) _
1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直 ...
- GlusterFS(GFS) 分布式存储
GlusterFS(GFS) 分布式存储 GFS 分布式文件系统 目录 一: GlusterFS 概述 1.1 GlusterFS 简介 1.2 GlusterFS特点 1.2.1 扩展性和高性能 ...
- 8_根轨迹_Part2_根轨迹手绘技巧
传递函数分母部分相同
- 关于websocket制作聊天室的的一些总结
websocket的总结 在一个聊天室系统中,常常使用websocket作为通信的主要方式.参考地址:https://www.jianshu.com/p/00e... 关于自己的看法:websocke ...
- java中如何能把一个字符串转成日期对象
题目3.1: 把一个字符串转成日期对象 当我们想根据输入字符串得到一个日期对象时我们不知道,应该以什么格式写这个字符串,才能被系统正确解析,一种聪明的做法是,马克-to-win,我们先 把日期对象根据 ...
- SQList基础+ListView基本使用
今日所学: SQList基础语法 SDList下载地址 SQLite Download Page SQList安装教程SQLite的安装与基本操作 - 极客开发者-博客 ListView用法 没遇到什 ...
- Jquery中each的3种遍历方式
学习目标: 参考博文: https://blog.csdn.net/honey_th/article/details/7404273 一.Jquery中each的几种遍历方法 1. 选择器+遍历 &l ...
- Blazor组件自做七 : 使用JS隔离制作定位/持续定位组件
1. 运行截图 演示地址 2. 在文件夹wwwroot/lib,添加geolocation子文件夹,添加geolocation.js文件 本组件主要是调用浏览器两个API实现基于浏览器的定位功能,现代 ...
- [ Shell ] 通过 Shell 脚本导出 CDL 网表
https://www.cnblogs.com/yeungchie/ 通过 si 导出电路网表,实际上在 Virtuoso 中通过 export - cdl 和 Calibre LVS 的步骤中也是通 ...