مكتبتي

شريط جانبي متعدد الجذور

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

نقوم بربط تخطيط ReactiveMongoTemplate، وتسمية المجموعات، ودورة الحياة التفاعلية بمحول MongoExecutionContext دون سحب Spring Data MongoDB كاعتماد أساسي.


تحتفظ Spring Data MongoDB بالتطبيق.
build.gradle
text

المكتبة الأساسية لا تعتمد مباشرة على Spring Data MongoDB. لتطبيق إعدادات ReactiveMongoTemplate لتطبيق Spring الحالي، يتم توفير محول MongoExecutionContext في طبقة التطبيق.

محول SpringReactiveMongoExecutionContext
SpringReactiveMongoExecutionContext.java
java

في التنفيذ الفعلي، يتم إضافة استيرادات Spring/MongoDB اللازمة إلى الفئة أعلاه. النقطة الأساسية هي ربط قراءة/كتابة الكيان بـ MongoConverter، واسم المجموعة بـ ReactiveMongoTemplate، وبدء الجلسة بـ MongoClient المقابل.

تسجيل Resolver و DSL Bean
MongoTemplateNameResolver.java
java
ReactiveMongoDslConfiguration.java
java
نطاق الاتصال في المحول

@Document / اسم المجموعة

يتم استخدام ReactiveMongoTemplate#getCollectionName(...).

@Id / @Field / تحويلات مخصصة

يتم استخدام MongoConverter لتحويل الكيان ↔ Document.

التدقيق التفاعلي

عند ربط beforePersist(...) بـ ReactiveBeforeConvertCallback، يتم تطبيق ردود الفعل على التدقيق التفاعلي في سلسلة save().

ReactiveAfterSaveCallback

يمكن استدعاؤه في afterPersist(...) بعد نجاح الكتابة.

Spring QueryMapper

لا يتم تطبيقه. مسار حقل DSL String يعتمد على اسم حقل مستند MongoDB الفعلي.

Spring DataAccessException

لا يتم التحويل تلقائيًا. العملية الفعلية تتم بواسطة Reactive Streams Driver.

عند استخدام @Field
java

يتم تطبيق تخطيط Spring على تحويل حفظ/استرجاع الكيان، لكن مسار String الشرط DSL لا يمر عبر QueryMapper الخاص بـ Spring. ومع ذلك، يتم تطبيع الجزء الدقيق من مسار id إلى _id وفقًا لقواعد DSL نفسها.

معاملات Spring ومعاملات DSL منفصلة.
© 2026 بيولناريم. جميع الحقوق محفوظة.مقدمةسياسة معالجة المعلومات الشخصية