Meine Bibliothek-Dokumente

Multi-Root-Seitenleiste

flex-layout

  • Getting Started

  • Guides

  • Reference

typed-rx-http

  • Getting Started

  • Guides

  • Reference

global-rx-state

  • Getting Started

  • Guides

  • Reference

webflux-fe-dev-assistant

reactive-mongo-dsl

Spring Integration

Spring Data MongoDB wird nicht als Kernabhängigkeit eingebunden, sondern verbindet das Mapping, die Sammlungsbenennung und den reaktiven Lebenszyklus von ReactiveMongoTemplate mit dem MongoExecutionContext-Adapter.


Spring Data MongoDB wird von der Anwendung verwaltet.
build.gradle
text

Die Kernbibliothek hat keine direkte Abhängigkeit von Spring Data MongoDB. Um die ReactiveMongoTemplate-Einstellungen einer bestehenden Spring-Anwendung zu verwenden, wird im Anwendungsschicht der MongoExecutionContext-Adapter bereitgestellt.

SpringReactiveMongoExecutionContext-Adapter
SpringReactiveMongoExecutionContext.java
java

In der tatsächlichen Implementierung werden die erforderlichen Spring/MongoDB-Imports in die obige Klasse eingefügt. Der Kern besteht darin, das Lesen/Schreiben von Entitäten mit MongoConverter, den Sammlungsnamen mit ReactiveMongoTemplate und den Sitzungsstart mit dem entsprechenden MongoClient zu verbinden.

Registrierung von Resolver und DSL-Bean
MongoTemplateNameResolver.java
java
ReactiveMongoDslConfiguration.java
java
Bereich, der im Adapter verbunden wird

@Document / Sammlungsname

Verwenden Sie ReactiveMongoTemplate#getCollectionName(...).

@Id / @Field / benutzerdefinierte Konvertierungen

Verwenden Sie MongoConverter für die Umwandlung zwischen Entität und Document.

Reaktive Prüfung

Wenn beforePersist(...) mit ReactiveBeforeConvertCallback verbunden wird, wird der reaktive Prüfungs-Callback in der save()-Reihe angewendet.

ReactiveAfterSaveCallback

Kann nach einem erfolgreichen Schreiben in afterPersist(...) aufgerufen werden.

Spring QueryMapper

Wird nicht angewendet. Der DSL-Stringfeldpfad basiert auf den tatsächlichen MongoDB-Dokumentfeldnamen.

Spring DataAccessException

Wird nicht automatisch konvertiert. Die tatsächliche Operation wird vom Reactive Streams Driver durchgeführt.

Wenn @Field verwendet wird
java

Für die Speicherung/Abfrage von Entitäten wird das Spring-Mapping angewendet, jedoch durchläuft der String-Pfad der DSL-Bedingung nicht den Spring QueryMapper. Der genaue id-Pfadsegment wird jedoch gemäß den DSL-Regeln in _id normalisiert.

Spring-Transaktionen und DSL-Transaktionen sind getrennt.
© 2026 Byeolnaerim. Alle Rechte vorbehalten.EinführungDatenschutzrichtlinie