الحدود: مع دراسة أكثر تعمقا لإدارة المعاملات الربيعية ، لن تصنع هذه المقالة أمثلة ، ولكن تحديد فئات محددة وملفات التكوين للشرح.
محتوى هذه المقالة:
1. فهم ما هي المعاملة التعريفية؟
2. ما هي إدارة المعاملات التعريفية؟
3. ما هو الفرق بين هذه الأنواع من إدارة المعاملات؟
1. ما هي المعاملة التعريفية؟
تعتبر إدارة المعاملات التصريبية واحدة من الطرق لإدارة معاملات البرنامج التي توفرها الربيع. تستخدم المعاملات التعريفية لـ Spring الطريقة التعريفية للتعامل مع المعاملات ، واستخدام المعالجة التعريفية للمعاملات في ملفات تكوين الربيع لاستبدال المعالجة القائمة على الكود للمعاملات. ميزة ذلك هي أن إدارة المعاملات لا تغزو مكونات التطوير. على وجه التحديد ، لن يدرك كائن منطق العمل أنه في إدارة المعاملات. في الواقع ، يجب أن يكون الشيء نفسه صحيحًا ، لأن إدارة المعاملات هي خدمة على مستوى النظام ، وليس جزءًا من منطق العمل. إذا كنت ترغب في تغيير إدارة المعاملات ، فأنت بحاجة فقط إلى تعديل التكوين في ملف التكوين المحدد. عندما لا توجد حاجة إلى إدارة معاملات ، ما عليك سوى تعديلها على ملف التكوين وإزالة خدمة إدارة المعاملات دون تغيير الكود وإعادة تجميعها ، وهو مريح للغاية للحفاظ عليه.
2. طريقة إدارة المعاملات التعريفية.
أولاً ، دعونا نلقي نظرة على إدارة المعاملات الأصلية قبل أن نتمكن من التحدث عن طريقة إدارة المعاملات التعريفية.
كما يتضح من الشكل أعلاه ، نحتاج أولاً إلى إنشاء جلسة جديدة. Opensession () ، ثانياً ، نحتاج إلى إنشاء معاملات وارتكابها من خلال طريقة GetTransaction (). وبهذه الطريقة ، في كل مرة نسمي فيها هذه الطريقة ، سنقوم بإعادة إنشاء جلسة جديدة ونفعل نفس الشيء مرارًا وتكرارًا ، والتي لا تتوافق مع فكرة تصميم هندسة البرمجيات الخاصة بنا. بعد ذلك ، نستخدم إدارة المعاملات التعريفية لتبسيط الرمز وضبطه.
1. استخدم إدارة المعاملات التعريفية Springaop.
1.1. نحن بحاجة إلى استيراد عدة حزم من AOP:
1.2. ثم قم بإجراء تكوين المعاملة في ملف تكوين Application.xml:
1.3. تعديل طريقة الاستعلام عن جميع البيانات:
بعد التفسير أعلاه ، يمكننا أن نرى تعديل طريقة showallnews (). أولاً ، نقوم بتغيير طريقة OpenSession () الأصلية إلى طريقة getCurrentsession () (ملاحظة: تحتوي لقطة الشاشة على تعليقات لتوضيح اختلافاتها ، لذلك لن أكررها). ليست هناك حاجة لإنشاء معاملات وارتكابها يدويًا. ستقوم SpringAop بإدارة المعاملات تلقائيًا وإغلاق الجلسة تلقائيًا.
2. استخدم طريقة التعليق التوضيحي transactional.
2.1. أولاً ، نحتاج إلى تنفيذ تكوين المعاملات في ملف تكوين Application.xml (إخطار حاوية الربيع للتعامل مع معالجة الفاصوليا من التعليق التوضيحي transactional):
2.2. ثم ليست هناك حاجة للقيام بأي عمليات أو تعديلات في Newsdaoimpl:
2.3. أضف التعليقات التوضيحية إلى NewsServiceImpl.
يمكننا هنا إضافة التعليق التوضيحي transactional إلى الفصل (مما يعني أنه يتم إضافة جميع الطرق إلى إدارة المعاملات) ، أو إضافة التعليقات التوضيحية transactional إلى الطريقة المحددة. إذا كانت طريقة لا تتطلب تعديل البيانات ، فأضف سمة.
على سبيل المثال: طريقة للاستعلام عن جميع البيانات transactional (readOnly = true)
3. الفرق بين إدارة المعاملات التعريفية التي تم تكوينها باستخدام SPRINGAOP و @transactional التعليق التوضيحي:
1) تكوين Springaop إدارة المعاملات التعريفية لها اقتران منخفض ، قابلية للقراءة المنخفض ، التعبير التفصيلي ، والمرونة العالية.
2) التعليق التوضيحي @transactional له قابلية للقراءة عالية ، والمحتوى مشتت وليس مفضيًا إلى الإدارة والصيانة الموحدة ، ولديه اقتران مرتفع.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.