史上最全SpringBoot2.3.0.RELEASE版本特性介绍(全文英译版)

更新时间:2023-07-10 03:16:31 阅读: 评论:0

史上最全SpringBoot2.3.0.RELEASE版本特性介绍(全⽂英译
版)
Spring Boot v2.3.RELEASE
For full upgrade instructions and new and noteworthy features plea e the relea notes.
Spring Boot 2.3 Relea Notes
Upgrading from Spring Boot 2.2
throw
Changes to minimum requirements
Spring Boot 现在要求:
Gradle 6.3+ (如果你正在⽤Gradle构建). 5.6.x 也⽀持,但已弃⽤。
Jetty 9.4.22+ (如果您使⽤Jetty作为嵌⼊式容器)
Validation Starter no longer included in web starters
大学英语作文网
从#19550开始,Web和WebFlux启动器默认不再依赖于验证启动器。例如,如果您的应⽤程序正在使⽤验证特性,您会发现
javax.validation.* imports没有被解析,你需要⾃⼰添加启动器。
对于Maven构建,可以使⽤以下⽅法实现这⼀点:
对于Gradle,你需要添加这样的东西:
太晚了Spring Data Neumann
Spring Boot 2.3附带了⼀个主要的Spring Data发布。如果您正在使⽤Cassandra、Couchba、Elasticarch、MongoDB或JDBC,则需要格外⼩⼼。
Cassandra
迈克英文
这个版本切换到Cassandra v4,它带来了许多向后不兼容的更改。如果您依赖于ClusterBuilderCustomizer来定制集群,这个概念在v4中已经不存在了,并且已经被两个更特定的定制器所取代:
DriverConfigLoaderBuilderCustomizer ⾃定义驱动程序的属性。请将此⽤于尚未公开的任何属性。
CqlSessionBuilderCustomizer 定制 CqlSession (以前的Session).
Cassandra v4驱动从接触点不再有⾃动本地直流推断。因此,必须使⽤默认的负载均衡策略设置“local-datacenter”属性,并且联络点必须是该数据中⼼的。⼀个新的 spring.data.cassandra.local-datacenter 属性已经被添加以⽅便设置本地数据中⼼。
Couchba
这个版本切换到Couchba SDK v3,它带来了许多向后不兼容的更改。
要连接到集群,您现在应该使⽤tion-string,⽽不是以前的uchba.bootstrap-hosts。
基于⾓⾊的访问控制现在已经普遍化了。
Spring Boot不再⾃动配置Bucket,但是您可以使⽤集群API轻松地做到这⼀点。
端点的IO配置已经在v.io中得到了协调。
如果您正在扩展CouchbaConfiguration以⾃定义环境,请使⽤ClusterEnvironmentBuilderCustomizer以⼀种更习惯的⽅式来这样做。
如果使⽤ Spring Data Couchba,则需要提供⼀个桶名。
Elasticarch
已弃⽤的本地Elasticarch传输已经被移除,因为Elasticarch和Spring Data在它们的下⼀个版本中都不⽀持它。在这个版本中,对Jest库的⽀持也被删除了。
Spring Boot 默认要求使⽤Elasticarch 7.5+。
poorer
求函数值域MongoDB
该版本切换到MongoDB 4,并协调了响应式和命令式驱动程序。如果你⽤的是启动器,这对你来说应该是相当透明的。
有了这种协调,如果您使⽤spring-boot-starter-data-mongodb-reactive,就不再提供⽆响应的基础设施。如果你需要在启动时使⽤命令式基础架构(例如MongoOperations),可以考虑添加spring-boot-starter-data-mongodb。
Neo4j
默认情况下,Neo4j的open ssion in view interceptor现在是禁⽤的。如果需要再次启⽤它,请使⽤标准的4j.open-in-view属性。
Neo4j运⾏状况指⽰器的详细信息现在包含版本和服务器的版本,⽰例如下:
JDBC
经典电影对白在它的新特性-new features中,Spring Data JDBC 2.0现在默认引⽤标识符。这个⾏为可以通过在RelationalMappingContext上调⽤tForceQuote(fal)来禁⽤。
Micrometer
这个版本升级到Micrometer 1.5,带来了⼀些反对的地⽅:
服务⽔平协议-Service Level Agreements已被重命名为服务⽔平⽬标-Service Level Objectives ,边界表⽰为double⽽不是long。
波前-Wavefront 度量现在通过WavefrontSender导出。因此,读取和连接超时属性不再受到尊重。
Jackson
This relea upgrades to Jackson 2.11 which includes a change to the default formatting
of java.util.Date and java.util.Calendar. Plea e FasterXML/jackson-databind#2643for details.
这个版本升级到Jackson 2.11,其中包括对 java.util.Date和java.util.Calendar的默认格式的更改。详
情请查看FasterXML/jackson-
databind#2643。
Spring Cloud Connectors starter has been removed
The Spring Cloud Connectors starter was deprecated in 2.2 in favor of Java CFEnv. This starter has been removed, and Spring Cloud Connectors dependencies are no longer included in Spring Boot’s managed dependencies.
Spring Cloud Connectors starter在2.2中已弃⽤,取⽽代之的是Java CFEnv-deprecated in 2.2 in favor of Java CFEnv。这个启动器已经被删除,Spring Cloud连接器依赖项也不再包含在Spring Boot的托管依赖项中。
Embedded Servlet web rver threading configuration
⽤于配置嵌⼊式Servlet web服务器(Jetty、Tomcat和Undertow)使⽤的线程的配置属性已经转移到专⽤线程组。现在可以在
rver.jetty.threads, at.threads, 和rver.undertow.threads找到属性。旧属性保留为弃⽤形式,以简化迁移。
Changes to the Default Error Page’s Content
默认情况下,错误消息和任何绑定错误不再包含在默认错误页⾯中。这减少了将信息泄露给客户机的风险。include-message 和include-binding-errors 可以分别⽤来控制消息和绑定各⾃的错误。⽀持的值是always, on-param和never。
Disk space health indicator
⾃动配置的磁盘空间运⾏状况指⽰器在应⽤程序启动时不再需要监视的路径存在。⼀个不存在的路径将被检测到具有零可⽤空间,从⽽导致指⽰灯的响应下降。
Automatic creation of developmentOnly Gradle configuration
仅开发配置,主要⽤于声明Spring Boot的DevTools依赖时使⽤,现在由Spring Boot的Gradle插件⾃动创建。任何⼿动的开发配置都可以从Gradle构建脚本中删除。
Removal of Maven Site Plugin management
Spring Boot的构建不再使⽤站点插件(maven-site-plugin),插件管理已经被删除。如果你依赖Spring Boot的托管版本,你应该添加你⾃⼰的插件管理。
Removal of Maven Exec Plugin custom configuration
如果您继承spring-boot-start -parent,它将不再配置Maven的exec插件(exec- Maven -plugin)来使⽤start-class设置主类。如果你依赖它,你可以按照以下⽅式恢复这种⾏为:
ApplicationContextRunner disables bean overriding by default
为了与SpringApplication保持⼀致,ApplicationContextRunner现在默认禁⽤bean覆盖。如果您需要对测试使⽤bean覆盖,那么可以使⽤withAllowBeanDefinitionOverriding 来启⽤它。
Activating multiple profiles with @ActiveProfiles
现在@ActiveProfiles注解⽀持包含逗号的配置属性名字。这意味着像@ActiveProfiles("p1,p2")这样的
注释将把提供的值p1,p2作为⼀个单独的配置⽂件名称。要激活多个配置⽂件,请像@ActiveProfiles({"p1","p2"})中那样将每个配置⽂件名称作为⼀个单独的值提供
WebServerInitializedEvent and ContextRefreshedEvent
作为引⼊对优雅关闭-graceful shutdown的⽀持的⼀部分,web服务器初始化现在在应⽤程序上下⽂刷新处理结束时执⾏,⽽不是在刷新处理完成后⽴即执⾏。因此,WebServerInitializedEvent现在在ContextRefreshedEvent之前发布。
Deprecations from Spring Boot 2.2
在Spring Boot 2.2中弃⽤的⼤多数类、⽅法和属性已经在这个版本中删除了。请确保在升级之前没有调⽤已弃⽤的⽅法。
Configuration properties
许多属性已被重命名或弃⽤。您可以使⽤spring-boot-properties-migrator模块来标识这些属性。⼀旦将其作为依赖项添加到项⽬中,它不仅会分析应⽤程序的环境并在启动时打印诊断结果,还会在运⾏时为您临时迁移属性。
备注:完成迁移后,请确保从项⽬的依赖项中删除此模块。
New and Noteworthy
Tip 检查 the configuration changelog for 配置更改的完整概述。
Java 14 support
hd dvd
Spring Boot 2.3增加了对Java 14的⽀持。也⽀持Java 8和11。
Build OCI images with Cloud Native Buildpacks
Support for building Docker images using Cloud Native Buildpacks and has been added to the Maven and Gradle plugins via
the spring-boot:build-image goal and the bootBuildImage task. The Paketo Java buildpack is ud by default to create images.
使⽤Cloud Native Buildpacks的building Docker images和已经被Maven和Gradle插件添加通过spring-boot:build-
image goal和bootBuildImage task 。默认情况下,Paketo Java buildpack ⽤于创建图像。
学习音标
Build layered jars for inclusion in a Docker image
Maven和Gradle插件⽀持将内容分层构建jar⽂件。该层根据更改的频率将jar的内容分开。这种分离允许更有效地构建Docker映像。未更改的现有层可以与已更改的层⼀起重⽤。
根据您的应⽤程序,您可能想要优化如何创建层和添加新层。这可以通过配置来实现,该配置描述了如何将jar划分为⼏个层,以及这些层的顺序。
当您创建分层jar时,spring-boot-jarmode-layertools jar将默认作为依赖项添加到您的jar中(这可以通过
构建配置禁⽤)。有了这个类路径上的jar,您就可以以⼀种特殊的模式启动应⽤程序,这种模式允许引导代码运⾏与您的应⽤程序完全不同的东西,例如,提取层的东西。要查看可⽤选项,使⽤-Djarmode=layertools启动⼀个fat jar,⽰例如下:
Predictable Classpath Ordering When Exploding Fat Jars
⽤Maven和Gradle构建的fat jar现在包含了⼀个索引⽂件。当jar被分解时,这个索引⽂件⽤于确保类路径的顺序与直接执⾏jar时相同。Support of wildcard locations for configuration files
Spring Boot现在在加载配置⽂件时⽀持通配符位置。默认情况下,⽀持jar外部的config/*/通配符位置。当有多个配置属性源时,这在Kubernetes这样的环境中⾮常有⽤。例如,如果你有单独的mysql和redis配置,他们可以⾃动选择,如果你把他们放在/config,
即/config/mysql/application.properties 和 /config/redis/application.properties。
Graceful shutdown四级考试时间分配表
所有四个嵌⼊式web服务器(Jetty、Reactor Netty、Tomcat和Undertow)以及响应式和基于rvlet的web应⽤程序都⽀持优雅关闭。当使⽤rver启⽤时使⽤rver.shutdown=graceful,关闭后,web服务器将不再允许新的请求,并等待活动请求完成的宽限期。宽限期可以使⽤spring.lifecycle.timeout-per-shutdown-pha来配置。详情请参阅参考⽂档-reference documentation。
Liveness and Readiness probes
Spring Boot现在拥有应⽤程序可⽤性的内置知识,可以跟踪应⽤程序是否处于活动状态,以及它是否准备好处理流量。运⾏状况端点可以启

本文发布于:2023-07-10 03:16:31,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/172651.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   配置   默认   程序   版本   添加   需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图