從 4.x 到 5.x 的遷移指南

Spring Data MongoDB 5.x 需要 MongoDB Java 驅動 5.6+
要了解更多關於驅動版本的資訊,請訪問 MongoDB 文件

MongoDB Java 驅動 4.x 驅動相容性已移除

Spring Data MongoDB 不再支援 4.x MongoDB Java 驅動版本。

UUID 表示更改

Spring Data 不再透過其配置支援類、工廠 Bean 或 XML 名稱空間來預設設定 UUID。
為了持久化 UUID 值,必須顯式設定 UuidRepresentation

  • Java

  • XML

@Configuration
static class Config extends AbstractMongoClientConfiguration {

	@Override
	protected void configureClientSettings(MongoClientSettings.Builder builder) {
		builder.uuidRepresentation(UuidRepresentation.STANDARD);
	}

    // ...
}
<mongo:mongo-client>
	<mongo:client-settings uuid-representation="STANDARD"/>
</mongo:mongo-client>

BigInteger/BigDecimal 轉換更改

Spring Data 不再透過其配置支援類來預設設定 BigInteger/BigDecimal 轉換。為了持久化這些值,必須顯式設定預設的 BigDecimalRepresentation

@Configuration
static class Config extends AbstractMongoClientConfiguration {

	@Override
	protected void configureConverters(MongoConverterConfigurationAdapter configAdapter) {
		configAdapter.bigDecimal(BigDecimalRepresentation.DECIMAL128);
	}

    // ...
}

從先前版本升級的使用者可以選擇 BigDecimalRepresentation.STRING 作為預設值以保留之前的行為。

DefaultMessageListenerContainer 自動啟動

可用於監聽例如更改流的 DefaultMessageListenerContainer 現在將其 SmartLifecycle 自動啟動預設為 true

JMX 支援已停止。

我們建議切換到 Spring Boot Actuator 端點

© . This site is unofficial and not affiliated with VMware.