1 從 Spring Boot 3.1 升級
1.1 引數名稱發現
Spring Boot 3.2 使用的 Spring Framework 版本不再嘗試透過解析位元組碼來推斷引數名稱。如果您在依賴注入或屬性繫結時遇到問題,請務必檢查您是否在編譯時使用了 -parameters
選項。有關更多詳細資訊,請參閱 "升級到 Spring Framework 6.x" wiki 的此部分。
1.2 記錄的應用程式名稱
每當設定 spring.application.name
屬性時,預設的日誌輸出就會包含您的應用程式名稱。如更喜歡之前格式,可將 logging.include-application-name
置 false
。
1.3 自動配置的使用者詳細資訊服務
若在類路徑存在 spring-security-oauth2-client
、spring-security-oauth2-resource-server
和 spring-security-saml2-service-provider
中的一個或多個,而且從 3.2.2 開始,既沒有配置 spring.security.user.name
也沒有配置 spring.security.user.password
,則自動配置的 InMemoryUserDetailsManager
現在將退出。同樣,在反應式應用程式中,如果在類路徑上存在 spring-security-oauth2-client
和 spring-security-oauth2-resource-server
中的一個或多個,而且從 3.2.2 開始,既沒有配置 spring.security.user.name
也沒有配置 spring.security.user.password
,則自動配置的 MapReactiveUserDetailsService
現在也將退出。
如果您正在使用上述依賴項之一,但仍然需要在應用程式中使用 InMemoryUserDetailsManager
或 MapReactiveUserDetailsService
,請在應用程式中定義所需的 bean,或者從 Spring Boot 3.2.2 開始,配置 spring.security.user.name
和 spring.security.user.password
中的一個或兩個。
1.4 OTLP 跟蹤端點
management.otlp.tracing.endpoint
的預設值已被刪除。只有當 management.otlp.tracing.endpoint
有值時,才會自動配置 OtlpHttpSpanExporter
bean。要恢復舊行為,請設定 management.otlp.tracing.endpoint=http://localhost:4318/v1/traces
。
1.5 巢狀 Jar 支援
支援 Spring Boot "Uber Jar" 載入的底層程式碼已被重寫,因為我們不再需要支援 Java 8。更新後的程式碼使用了一種新的 URL 格式,該格式更符合 JDK 的期望。之前的 URL 格式 jar:file:/dir/myjar.jar:BOOT-INF/lib/nested.jar!/com/example/MyClass.class
已被替換為 jar:nested:/dir/myjar.jar/!BOOT-INF/lib/nested.jar!/com/example/MyClass.class
。更新後的程式碼還使用了 java.lang.ref.Cleaner
(這是 JDK 9 的一部分)來管理資源。
我們已盡一切努力確保新程式碼在儘可能大的程度上是對之前實現的透明替換。我們預計大多數使用者甚至不會注意到這種變化。您可能會注意到變化的一個領域是,如果您直接引用了啟動器類之一,因為它們在新的預設啟動器中有新的名稱:
新 | 經典 |
---|---|
org.springframework.boot.loader.launch.JarLauncher |
org.springframework.boot.loader.JarLauncher |
org.springframework.boot.loader.launch.PropertiesLauncher |
org.springframework.boot.loader.PropertiesLauncher |
org.springframework.boot.loader.launch.WarLauncher |
org.springframework.boot.loader.WarLauncher |
但是,如果您發現新實現存在任何意外行為,我們也提供了一個回退選項,允許您使用舊程式碼。
對於 Maven 使用者,您可以將 spring-boot-plugin
配置中的 <loaderImplementation>
標籤設定為 CLASSIC
。例如:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<loaderImplementation>CLASSIC</loaderImplementation>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.6 Spring Boot 3.0 中的棄用情況
在本次釋出中,已刪除 Spring Boot 3.0 中已棄用的類、方法和屬性。升級之前,請確保您沒有呼叫已棄用的方法。
1.7 日誌關聯 ID
只要使用 Micrometer 跟蹤,Spring Boot 就會自動記錄關聯 ID。參閱更新後的文件。
如果您自己配置了跟蹤 id 和 span id 的日誌記錄,例如以下內容:
logging.pattern.level=%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]
您現在可以將其刪除。應用程式名稱、跟蹤 id 和 span id 現在預設包含在內。
1.8 RestClient 支援
Spring Boot 3.2 包括對新的 RestClient
介面的支援,該介面已在 Spring Framework 6.1 中引入。此介面提供了一種類似於 WebClient
設計的函式式阻塞 HTTP API。
現有和新的應用程式可能需要考慮使用 RestClient
作為 RestTemplate
的替代方案。
詳參更新後的參考文件。
1.9 RestTemplate HTTP 客戶端
當類路徑上存在 Jetty 的 HttpClient
時,Spring Boot 的 HTTP 客戶端自動檢測將配置 RestTemplateBuilder
使用 Spring Framework 6.1 中新引入的 JettyClientHttpRequestFactory
。
對 JdkClientHttpRequestFactory
的支援已新增到 ClientHttpRequestFactories
。與 JettyClientHttpRequestFactory
不同,它尚未新增到自動檢測中。要使用 JdkClientHttpRequestFactory
,您必須主動啟用:
@Bean
RestTemplateBuilder restTemplateBuilder(RestTemplateBuilderConfigurer configurer) {
return configurer.configure(new RestTemplateBuilder())
.requestFactory(
(settings) -> ClientHttpRequestFactories.get(JdkClientHttpRequestFactory.class, settings));
}
1.10 對 JdbcClient
的支援
基於 NamedParameterJdbcTemplate
的存在,已新增了對 [JdbcClient
](https://docs.spring .io/spring-boot/docs/3.2.0/reference/html//data.html#data.sql.jdbc-client) 的自動配置。如果後者是自動配置的,則會考慮 spring.jdbc.template.*
屬性。
1.11 對虛擬執行緒的支援
Spring Boot 3.2 附帶對虛擬執行緒的支援。要使用虛擬執行緒,您需要執行在 Java 21 上,並將屬性 spring.threads.virtual.enabled
設定為 true
。
① Servlet Web 伺服器
啟用虛擬執行緒時,Tomcat 和 Jetty 將使用虛擬執行緒進行請求處理。這意味著您處理 Web 請求的應用程式程式碼(如控制器中的方法)將在虛擬執行緒上執行。
② 使用 Spring WebFlux 的阻塞執行
當虛擬執行緒啟用時,Spring WebFlux 對阻塞執行的支援會自動配置為使用 applicationTaskExecutor
bean (如果它是一個 AsyncTaskExecutor
)。無論是預設情況下還是啟用虛擬執行緒時,applicationTaskExecutor
都是一個 AsyncTaskExecutor
。
③ 任務執行
當啟用虛擬執行緒時,applicationTaskExecutor
bean 將是一個配置為使用虛擬執行緒的 SimpleAsyncTaskExecutor
。任何使用應用程式任務執行器的地方,例如呼叫 @Async
方法時的 @EnableAsync
、Spring MVC 的非同步請求處理以及 Spring WebFlux 的阻塞執行支援,現在都將利用虛擬執行緒。與以前一樣,任何 TaskDecorator
bean 都會應用於自動配置的執行器,並且 spring.task.execution.thread-name-prefix
屬性也會應用。其他 spring.task.execution.*
屬性將被忽略,因為它們特定於基於池的執行器。
現在應用程式上下文中提供了 SimpleAsyncTaskExecutorBuilder
,可用於構建 SimpleAsyncTaskExecutor
。如果啟用了虛擬執行緒,SimpleAsyncTaskExecutorCustomizer
bean 可用於自定義構建的 SimpleAsyncTaskExecutor
。構建器將自動配置為使用它們。
④ 任務排程
當啟用虛擬執行緒時,taskScheduler
bean 將是一個配置為使用虛擬執行緒的 SimpleAsyncTaskScheduler
。將應用 spring.task.scheduling.thread-name-prefix
屬性和 spring.task.scheduling.simple.*
屬性。其他 spring.task.scheduling.*
屬性將被忽略,因為它們特定於基於池的排程程式。
現在應用程式上下文中提供了 SimpleAsyncTaskSchedulerBuilder
,可用於構建 SimpleAsyncTaskScheduler
。如果啟用了虛擬執行緒,SimpleAsyncTaskSchedulerCustomizer
bean 可用於自定義構建的 SimpleAsyncTaskScheduler
。構建器將自動配置為使用它們。
⑥ 使 JVM 保持活動狀態
現在有一個新屬性叫做 spring.main.keep-alive
。當設定為 true
時,即使所有其他執行緒都是虛擬執行緒(或守護執行緒),JVM 也會保持活動狀態。
⑦ 特定技術整合
啟用虛擬執行緒時,以下特定技術整合適用:
- 為 RabbitMQ 監聽器自動配置了一個虛擬執行緒執行器。
- 為 Kafka 監聽器自動配置了一個虛擬執行緒執行器。
- Spring Data Redis 的
ClusterCommandExecutor
將使用虛擬執行緒。 - Spring for Apache Pulsar 將為自動配置的
ConcurrentPulsarListenerContainerFactory
和DefaultPulsarReaderContainerFactory
使用VirtualThreadTaskExector
。
1.12 對 JVM 檢查點/恢復的初始支援
Spring Boot 3.2 附帶對 JVM 檢查點/恢復(Project CRaC)的初始支援。有關更多詳細資訊,請參閱相關文件。
1.13 SSL 捆綁包重新載入
現在可以在信任材料發生變化時自動重新載入 SSL 捆綁包。捆綁包必須選擇啟用此功能,將其 reload-on-update
屬性設定為 true
。捆綁包的使用者也必須支援重新載入。
支援重新載入的使用者包括:
- Netty Web 伺服器
- Tomcat Web 伺服器
有關 SSL 捆綁包重新載入的更多資訊,可以在參考文件中找到。
1.14 可觀測性改進
您現在可以使用 Micrometer 的 @Timed
、@Counted
、@NewSpan
、@ContinueSpan
和 @Observed
註解。如果類路徑上有 AspectJ,它們的 aspects 現在將自動配置。
Micrometer Tracing 的 ObservationHandler
bean 現在自動註冊到 ObservationConfig
。在 Spring Boot 3.2.0 之前,未分類的處理程式會在分類處理程式之前註冊。現在這一點已被顛倒,分類的處理程式現在會在未分類的處理程式之前註冊。有關詳細資訊,請參閱 #34399。
B3 跟蹤傳播的預設格式已從 single-no-parent 更改為 single。
@Scheduled
方法現在已針對可觀測性進行了檢測。
已新增了對 R2DBC 的可觀測性支援。要啟用它,請在專案中包含 io.r2dbc:r2dbc-proxy
依賴項。
① 屬性
現在有一個名為 spring.reactor.context-propagation
的新配置屬性,用於控制反應式管道中的上下文傳播。要在您的反應式管道中自動傳播觀察結果、跟蹤 id 和 span id,請將該屬性設定為 auto
。
現在可以透過屬性禁用以特定字首開頭的觀察結果。例如,要防止 Spring Security 報告觀察結果,請設定 management.observations.enable.spring.security=false
。
屬性 management.observations.key-values.*
可用於自動將低基數鍵值應用於所有觀察結果。例如,設定 management.observations.key-values.region=us-west
將向所有觀察結果新增鍵 region
和值 us-west
。
② OpenTelemetry
如果在上下文中找到 OpenTelemetry MeterProvider
bean,它將自動註冊到 BatchSpanProcessor
。
OpenTelemetry 的自動配置已經改進。如果上下文中有 SdkLoggerProvider
或 SdkMeterProvider
型別的 bean,它將自動註冊到 OpenTelemetry
bean 上。此外,OpenTelemetry 的 Resource
現在作為 bean 暴露,並且有一個新的配置屬性 management.opentelemetry.resource-attributes
,用於配置資源屬性。
如果您正在使用 OpenTelemetry 並希望對應用的 SpanProcessor
有更多控制,您現在可以定義一個 SpanProcessors
型別的 bean。預設情況下,所有可用的 SpanProcessor
bean 都會應用。對於 OpenTelemetry 的 SpanExporter
,使用 SpanExporters
bean 來覆蓋預設值。預設情況下,它會應用所有可用的 SpanExporter
bean。
③ Micrometer 1.12 中更廣泛的示例支援
Micrometer 1.12 包括一個擴大示例支援的功能,這需要 Prometheus 2.43 或更高版本。如果您使用的是 2.43.0 之前的 Prometheus 版本,並且您正在使用 Micrometer Tracing,請升級到 Prometheus >= 2.43.0,否則指標將不再顯示。
④ 測試中的可觀測性
在 Spring Boot 3.2 之前,當執行整合測試時,整個 Micrometer Tracing、Brave 和 OpenTelemetry 基礎設施都會被禁用。這一點已經過修改:只有最少數量的 bean 被禁用,因此不會向後端傳送任何 span(有關將被禁用的 bean 列表,請參閱 #35354)。如果您有自定義的 Brave SpanHandler
或 OpenTelemetry SpanExporter
bean,請務必使用 @ConditionalOnEnabledTracing
註解對它們進行註解,這樣在執行禁用了可觀測性的整合測試時,它們就不會被建立。
如果您希望在啟用可觀測性的情況下執行整合測試,您可以在測試類上使用 @AutoConfigureObservability
註解。
1.15 Docker 映象構建
預設的 CNB 構建器已升級
當使用 Maven 和 Gradle 外掛構建映象時,使用的預設 CNB 構建器已經更改。當應用### 直譯續
GraalVM 外掛到構建時,新的預設構建器是 paketobuildpacks:builder-jammy-tiny
。否則,新的預設構建器是 paketobuildpacks:builder-jammy-base
。有關這些構建器的更多資訊,請參閱 Paketo 文件。
以前的預設構建器包含了基於 Ubuntu 18.04 的執行映像,而新的預設值包含了基於 Ubuntu 22.04 的執行映像。這意味著使用新的預設值構建的任何映像都將基於 Ubuntu 22.04。
Docker 主機配置
spring-boot:build-image
Maven 目標和 bootBuildImage
Gradle 任務現在使用 Docker CLI 配置檔案來確定要使用的 Docker 守護程序的主機地址和其他連線詳細資訊。有關更多資訊,請參閱 Gradle 和 [Maven](https://docs.spring.io/spring-boot /docs/3.2.0/maven-plugin/reference/htmlsingle/#build-image.docker-daemon) 外掛文件。
用於快取的繫結掛載
現在可以配置 CNB 構建器和 buildpack 使用的構建和啟動快取,以使用繫結掛載而不是命名卷。BitBucket CI 的使用者要求提供此功能,因為它們不允許從 CI 管道訪問卷。有關更多資訊和示例,請參閱 [Maven](https://docs.spring.io/spring-boot/docs/3.2.0/maven-plugin/reference/htmlsingle/#build -image.examples.caches) 和 Gradle 文件。
構建工作區配置
現在可以配置 CNB 構建器和 buildpack 使用的臨時構建工作區,以使用繫結掛載或自定義命名卷。有關更多資訊和示例,請參閱 Maven 和 Gradle 文件。
安全選項配置
現在可以自定義應用於 CNB 構建器容器的安全選項,以支援不允許使用預設 Linux 安全選項 label=disable
的 Docker 環境。有關更多資訊,請參閱 Maven 和 Gradle 文件。
對 Spring for GraphQL 的可呼叫支援
現在Spring for GraphQL 被自動配置為使用 applicationTaskExecutor
。這為控制器方法返回 Callable
提供了開箱即用的支援。
其他 OAuth2 令牌驗證器
自動配置的 JwtDecoder
或 ReactiveJwtDecoder
現在將使用任何 OAuth2TokenValidator<Jwt>
bean 進行令牌驗證。它們包含在配置為解碼器的驗證器的 DelegatingOAuth2TokenValidator
中。
對 ActiveMQ 的服務連線支援
已新增對 ActiveMQ 的 ServiceConnection
支援,並針對 Testcontainers 和 Docker Compose 提供了整合。該整合使用 symptoma/activemq
映象。
對 Neo4j 的 Docker Compose 支援
Spring Boot 的 Docker Compose 整合現在支援 Neo4j。您必須在 compose YAML 中配置 NEO4J_AUTH
環境變數,以禁用身份驗證(值為 none
)或為 neo4j
使用者設定密碼(值為 neo4j/your-password
)。
WebSocketServerSpec 配置
自動配置使用的 WebSocketServerSpec
現在可以使用 spring.rsocket.server.spec
名稱空間下的屬性進行自定義。
Neo4j AuthTokenManager
如果定義了 AuthTokenManager
bean,它將用於 Neo4j 的身份驗證。這種 bean 優先於 spring.neo4j.authentication.*
屬性。如果定義了自定義 Neo4jConnectionDetails
(例如用於 Testcontainers 或 Docker Compose 管理的資料庫的服務連線),則會忽略 AuthTokenManager
bean。
RabbitMQ
SSL 捆綁包支援
現在可以使用 spring.rabbitmq.ssl.bundle
屬性將 RabbitMQ 連線配置為使用來自 SSL 捆綁包的信任材料。這提供了一種替代方法,而不是使用現有的 spring.rabbitmq.ssl
屬性提供 Java 金鑰庫檔案作為信任材料。
限制訊息正文大小
最新版本的 RabbitMQ Java 客戶端預設將傳入訊息的正文大小限制為 64MB。spring.rabbitmq.max-inbound-message-body-size
配置屬性已引入,用於自定義此限制。
RabbitMQ Stream 的虛擬主機支援
已新增對 RabbitMQ Stream 的虛擬主機支援。如果沒有顯式設定,RabbitMQ Stream 的虛擬主機將自動使用為 RabbitMQ 配置的虛擬主機。要為 RabbitMQ Stream 使用特定的虛擬主機,請設定 spring.rabbitmq.stream.virtual-host
。
Kafka
SSL 捆綁包支援
現在可以使用 spring.kafka.ssl.bundle
屬性將 Kafka 連線配置為使用來自 SSL 捆綁包的信任材料。這提供了一種替代方法,而不是使用現有的 spring.kafka.ssl
屬性提供 Java 金鑰庫檔案作為信任材料。
JMS 會話
已引入新屬性用於配置自動配置的 JmsTemplate
建立的會話:
spring.jms.template.session.acknowledge-mode
spring.jms.template.session.transacted
類似地,還引入了 spring.jms.listener.session.transacted
屬性,用於自動配置的 JmsMessageListenerContainer
。
為與這些新屬性保持一致,請注意,現有的 spring.jms.listener.acknowledge-mode
屬性已被棄用,並引入了### 直譯續
spring.jms.listener.session.acknowledge-mode
作為替代。
Oracle UCP 資料來源上的連線驗證
已刪除了 Oracle UCP 資料來源上連線驗證的預設值。在 3.2.0-RC1 之前,預設情況下啟用了連線驗證,現在不再是這種情況。如果您需要連線驗證,請將配置屬性 spring.datasource.oracleucp.validate-connection-on-borrow
設定為 true
。
testAndDevelopmentOnly Gradle 配置
除了 developmentOnly
,Spring Boot 的 Gradle 外掛現在還建立了一個 testAndDevelopmentOnly
配置。與 developmentOnly
不同,此新配置中的依賴項將包含在測試編譯和執行時類路徑中。它主要供那些在[開發時使用 Testcontainers](https://docs.spring.io/spring-boot/docs/3.2.0/reference/html/features.html#features.testing.testcontainers .at-development-time) 的應用程式使用。
其他
除了上述更改之外,還有許多小的調整和改進,包括:
- 現在可以使用配置屬性
spring.jackson.datatype.enum.
和spring.jackson.datatype.jsonnode.
分別啟用和禁用 Jackson 的EnumFeature
和JsonNodeFeature
中宣告的功能。 - 現在可以透過使用
Provider
為其他構建資訊屬性設定延遲值。 - 事務管理器自定義現在適用於任何型別的
TransactionManager
,而不僅僅是PlatformTransactionManager
。 - 任何
TransactionExecutionListener
bean 現在都會新增到自動配置的事務管理器中。 - 當嵌入式 WebServer 啟動時記錄的埠資訊已得到改進和統一。
- 新增加的屬性
spring.servlet.multipart.strict-servlet-compliance
用於設定是否僅對multipart/form-data
請求使用多部分處理。 - 當歡迎頁面的處理程式收到無效的
Accept
頭時,已減少日誌記錄,並會退回到接受所有 MIME 型別。 - 已新增
RestClientBuilderConfigurer
,可用於將 Spring Boot 的預設設定應用於RestClient.Builder
。 restTemplateBuilderConfigurer
bean 不再退出定義了使用者 bean。如果您之前有自己的restTemplateBuilderConfigurer
bean,請將其刪除。- 已新增一個屬性,可用於配置 Jetty 伺服器的最大連線數。
- 已新增一個新屬性,可用於在使用 PEM SSL 捆綁包時驗證金鑰。
- 以程式設計方式建立
PemSslStoreBundle
時,現在可以提供金鑰庫密碼。 - 如果未明確設定
service.name
,現在將使用spring.application.name
作為 OpenTelemetry 的service.name
。 - 已新增一個新屬性,可用於配置 OTLP 登錄檔中匯出指標的基本
TimeUnit
。 - 現在有了 OTLP 指標和跟蹤的連線詳細資訊支援。如果使用 Testcontainers 或 Docker Compose 與
otel/opentelemetry-collector-contrib
映象,將自動建立連線詳細資訊 bean。 - 已新增對使用 Wavefront 時的 CSP 身份驗證的支援。
- 一個新屬性
flyway.postgresql.transactional-lock
可用於配置 Flyway 對 PostgreSQL 的事務鎖定使用。 - 新增了對 Kafka MessageListenerContainer
changeConsumerThreadName
屬性的支援。 - 自動配置
Function<MessageListenerContainer, String>
bean 到 Kafka MessageListenerContainer 的threadNameSupplier
。 - 已引入新的
@ConditionalOnThreading
註解,以幫助自動配置虛擬執行緒相關的問題。 - 新增了對 RabbitMQ 容器
forceStop
屬性的支援。 - 基於
WebClient
的 Zipkin 傳送器現在會遵守透過配置屬性設定的超時。有關詳細資訊,請參閱 #36264。 - 當在啟用了 AOT 模式但構建中沒有進行 AOT 處理的情況下啟動應用程式時,錯誤訊息現在更加明確。
- 在使用 GraalVM 時,現在自動提供了
messages.properties
和messages_*.properties
的資源提示。 - 現在提供了 Kotlin 序列化的依賴項管理。
- Awaitility (
org.awaitility:awaitility
) 現在是spring-boot-starter-test
的一部分。 - 在使用
@JdbcTest
和@DataJpaTest
的測試中,自動配置的JdbcClient
bean 現在可用。 - 在自動配置
MockMvc
時,現在使用它們的註冊 bean 的分派器型別和初始化引數註冊過濾器。 - 現在可以並行初始化 Testcontainers。為此,請將
spring.testcontainers.beans.startup
設定為parallel
。 - 支援
spring.kafka.template.observation-enabled
屬性,以支援 Micrometer 觀察。
3.2.0廢除的
OkHttp 3 的支援已被棄用,有利於 OkHttp 4
-
spring-boot:run
、spring-boot:start
和spring-boot:test-run
Maven 目標的directories
屬性已被棄用,有利於additionalClasspathElements
。 -
定義在
LoggingSystemProperties
和LogbackLoggingSystemProperties
中的大多數常量已被棄用,改為使用列舉值。 -
ClientHttpRequestFactorySettings
和RestTemplateBuilder
中啟用請求緩衝的支援已被棄用。雖然 API 以棄用的形式保留,但配置它將不會產生任何效果,這與 Spring Framework 6.1 中的類似更改一致。 -
使用
context.initializer.classes
環境屬性註冊額外的ApplicationContextInitializer
已被棄用,改為以程式設計方式或在 spring.factories 中註冊每個代理。 -
使用
context.listener.classes
環境屬性註冊額外的ApplicationListener
已被棄用,改為以程式設計方式或在 spring.factories 中註冊每個代理。 -
由擴充套件程式管理的 Flyway 屬性已移動到專用名稱空間。因此,
flyway.oracle*
屬性已移動到flyway.oracle.*
。同樣,spring.flyway.sql-server-kerberos-login-file
已移動到spring.flyway.sqlserver.kerberos-login-file
。 -
InfluxDB 的支援已被棄用,有利於新的 InfluxDB Java 客戶端及其自己的 Spring Boot 整合。
-
配置屬性
management.otlp.metrics.export.resource-attributes
已被棄用,有利於新的management.opentelemetry.resource-attributes
。 -
TaskExecutorBuilder
已被棄用,有利於ThreadPoolTaskExecutorBuilder
。 -
TaskSchedulerBuilder
已被棄用,有利於ThreadPoolTaskSchedulerBuilder
。 -
配置屬性
spring.jms.listener.concurrency
的替代品是spring.jms.listener.min-concurrency
。 -
配置屬性
spring.jms.listener.acknowledge-mode
的替代品是spring.jms.listener.session.acknowledge-mode
。 -
PlatformTransactionManagerCustomizer
的替代品是TransactionManagerCustomizer
。 -
TransactionManagerCustomizers(Collection<? extends PlatformTransactionManagerCustomizer<?>>)
的替代品是TransactionManagerCustomizers#of(Collection<? extends TransactionManagerCustomizer<?>>)
。 -
不再推薦使用
DelegatingApplicationContextInitializer
和DelegatingApplicationListener
,因為基於屬性的初始化不再推薦。 -
PemSslStoreBundle
中的一些過時的建構函式以及PemSslStoreDetails
中的certificate
訪問器已被棄用。 -
TaskExecutorCustomizer
已被棄用,有利於ThreadPoolTaskExecutorCustomizer
-
TaskSchedulerBuilder
已被棄用,有利於ThreadPoolTaskSchedulerBuilder
-
TaskSchedulerCustomizer
已被棄用,有利於ThreadPoolTaskSchedulerCustomizer
-
NettyWebServer
中的一些過時的建構函式已被棄用
本文由部落格一文多發平臺 OpenWrite 釋出!