Dok Perpustakaan Saya

Sidebar Multi-root

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

Menghubungkan pemetaan, penamaan koleksi, dan siklus hidup reaktif dari ReactiveMongoTemplate tanpa menarik Spring Data MongoDB sebagai ketergantungan inti ke dalam MongoExecutionContext adapter.


Spring Data MongoDB dikelola oleh aplikasi
build.gradle
text

Perpustakaan inti tidak bergantung langsung pada Spring Data MongoDB. Untuk menggunakan pengaturan ReactiveMongoTemplate dari aplikasi Spring yang ada, lapisan aplikasi menyediakan adapter MongoExecutionContext.

Adapter SpringReactiveMongoExecutionContext
SpringReactiveMongoExecutionContext.java
java

Dalam implementasi nyata, tambahkan impor Spring/MongoDB yang diperlukan ke kelas di atas. Intinya adalah menghubungkan pembacaan/penulisan entitas ke MongoConverter, nama koleksi ke ReactiveMongoTemplate, dan memulai sesi ke MongoClient yang sesuai.

Pendaftaran Resolver dan DSL Bean
MongoTemplateNameResolver.java
java
ReactiveMongoDslConfiguration.java
java
Ruang lingkup yang terhubung di Adapter

@Document / nama koleksi

Gunakan ReactiveMongoTemplate#getCollectionName(...).

@Id / @Field / konversi kustom

Gunakan MongoConverter untuk konversi antara entitas ↔ Document.

Audit reaktif

Menghubungkan beforePersist(...) ke ReactiveBeforeConvertCallback akan menerapkan callback audit reaktif pada rangkaian save().

ReactiveAfterSaveCallback

Dapat dipanggil di afterPersist(...) setelah penulisan berhasil.

Spring QueryMapper

Tidak berlaku. Jalur field String DSL berdasarkan nama field dokumen MongoDB yang sebenarnya.

Spring DataAccessException

Tidak melakukan konversi otomatis. Operasi nyata dilakukan oleh Reactive Streams Driver.

Jika menggunakan @Field
java

Mapping Spring diterapkan pada konversi penyimpanan/pencarian entitas, tetapi jalur String dari kondisi DSL tidak melewati QueryMapper Spring. Namun, segmen jalur id yang tepat dinormalisasi menjadi _id berdasarkan aturan DSL itu sendiri.

Transaksi Spring dan transaksi DSL terpisah
© 2026 Byeolnaerim. Semua hak dilindungi.PengenalanKebijakan Penanganan Data Pribadi