领先一步
VMware 提供培训和认证,助力您的发展。
了解更多我代表社区高兴地宣布,Spring Cloud 2022.0 发布列的正式发布 (RELEASE) 版本现已可用。该版本可在 Maven Central 中找到。您可以查看 2022.0 发布说明以获取更多信息。
Spring Cloud 2022.0.0 是一个重要版本,它基于 Spring Framework 6.x 和 Spring Boot 3.x 构建。这包括与 Jakarta EE 的兼容性,并需要 Java 17 作为基础。请参阅此处查看此版本中包含的问题。以下是 2022.0.0 所有里程碑、候选版本和 GA 版本中的重点内容。
由于 Spring 现在提供了自己的接口 HTTP 客户端解决方案,从 2022.0.0 版本开始,我们将把 Spring Cloud OpenFeign 视为功能完善。这意味着 Spring Cloud 团队将不再向该模块添加新功能。我们仍会修复 Bug 和安全问题,并考虑和审查来自社区的小型拉取请求。
@ConditionalOnKubernetesEnabled
的使用,转而使用 Spring Boot 的 @ConditionalOnCloudPlatform
(893)spring.config.import
加载 Config Maps 和 Secrets,从而不再需要使用 Bootstrap context (1002)ServiceInstance
自定义负载均衡请求 (#735)12.0
(#782)12.1
(#792)ResponseInterceptor
的可能性 (#802)添加了注册生命周期监听器 (#999)
阻塞式 LoadBalancer 客户端请求的请求数据上下文已可用于生命周期回调 (#1090)
OAuth 集成已从弃用的 Spring Security OAuth 迁移到 Spring Security 中的 OAuth2 支持 (#1053)
添加了注册生命周期监听器 (#999https://github.com/spring-cloud/spring-cloud-commons/issues/999)
阻塞式 LoadBalancer 客户端请求的请求数据上下文已可用于生命周期回调 (#1090)
添加了急切创建 LoadBalancer 子上下文的可能性 (#729)
添加了基于权重的负载均衡 (#1063)
添加了在 AOT 和原生镜像中对 LoadBalancer 子上下文的支持 (#1135)
添加了基于属性配置的权重负载均衡支持 (#1163)
移除了依赖于 Apache HttpClient v4 的接口。移除了 OK HttpClient 接口,因为它们仅由 Spring Cloud OpenFeign 使用。Spring Cloud OpenFeign 现在直接使用 OK HttpClient (#1171)
移除了弃用的类和接口。请参阅 Spring Cloud 2022 发布说明 中的破坏性变更
在 AOT 模式下切换到延迟初始化子上下文 (#1176)
src/test/resources/contracts
检查的支持 (#1848)以下模块已更新,作为 2022.0.0 的一部分
模块 | 版本 | 问题 |
---|---|---|
Spring Cloud Vault | 4.0.0 | (问题) |
Spring Cloud Kubernetes | 3.0.0 | (问题) |
Spring Cloud Function | 4.0.0 | |
Spring Cloud Zookeeper | 4.0.0 | |
Spring Cloud Circuitbreaker | 3.0.0 | (问题) |
Spring Cloud Task | 3.0.0 | |
Spring Cloud Bus | 4.0.0 | |
Spring Cloud Stream | 4.0.0 | |
Spring Cloud Openfeign | 4.0.0 | (问题) |
Spring Cloud Commons | 4.0.0 | (问题) |
Spring Cloud Contract | 4.0.0 | |
Spring Cloud Starter Build | 2022.0.0 | |
Spring Cloud Netflix | 4.0.0 | (问题) |
Spring Cloud Consul | 4.0.0 | |
Spring Cloud Config | 4.0.0 | (问题) |
Spring Cloud Build | 4.0.0 | |
Spring Cloud Gateway | 4.0.0 | (问题) |
一如既往,我们欢迎在 GitHub、Gitter、Stack Overflow 或 Twitter 上提供反馈。
使用 BOM (仅依赖管理) 通过 Maven 入门
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2022.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
...
</dependencies>
或使用 Gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.0'
id 'io.spring.dependency-management' version '1.1.0'
}
repositories {
mavenCentral()
}
ext {
set('springCloudVersion', "2022.0.0")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}