從 4.x 到 5.x 的遷移指南
Spring Data MongoDB 5.x 需要 MongoDB Java 驅動 5.6+
要了解更多關於驅動版本的資訊,請訪問 MongoDB 文件。
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 端點。