1.DDD و Spring Data
DDD: التصميم الذي يحركه المجال هو طريقة تنفيذ تطوير البرمجيات ضمن المتطلبات المعقدة. سأشرح DDD على وجه التحديد عندما يكون لدي الوقت.
تم تصميم بيانات الربيع في العديد من الأماكن وفقًا لمبدأ DDD (مثل المستودع). هنا تنفذ بيانات الربيع بشكل أساسي حدث التجميع والمجال لـ DDD:
أدناه ، نوضح عددًا إحصائيًا للأرقام من الذكور والإناث عند حفظ الجذر الكلي للشخص بنجاح ، من خلال سمة جنس الشخص ، يتم تحديث الكيان الإحصائي Genderstat.
2. التجريبي
2.1 شخص يجذر الجذر
كجذر إجمالي ، يتمتع الشخص بالقدرة على نشر حدث المجال. هناك طريقتان لتنفيذها بموجب بيانات الربيع:
يحب:
@entity@data@allargsconstructor@noargsconstructor@toString (exclude = "domainevents") public class person {idgeneratedValue private id ؛ اسم السلسلة الخاصة ؛ جنس العدد الخاص ؛ // 1: ذكر ؛ 2: مجموعة pomnomainevents الأنثوية <Object> domainevents () {list <hobber> events = new ArrayList <Object> () ؛ events.Add (شخص جديد (this.id ، this.gender)) ؛ إعادة الأحداث ؛ } apterdomaineventpublication void callbackmethod () {//}}أو
@entity@data@allargsconstructor@noargsconstructor@toString (exclude = "domainevents") يمتد شخص الطبقة العامة AbstractagGregateroot {iDGeneratedValue private long ؛ اسم السلسلة الخاصة ؛ جنس العدد الخاص ؛ // 1: ذكر ؛ 2: الشخص العمومي بعد personsavedCompleted () {registerEvent (شخص جديد (this.id ، this.gender)) ؛ إرجاع هذا ؛ }}2.2 معالجة أحداث الاستماع
componentpublic class GenderStatProcessor {autowired genderrepository genderrepository ؛ asyncTActionAleventListener public void handleafterpersonsavedcomplete (حدث personsavedevent) {genderstat genderstat = genderrepository.findone (1L) ؛ if (event.getGender () == 1) {genderstat.setMalEcount (genderstat.getMalEcount ()+1) ؛ } آخر {genderstat.setfemaleCount (genderstat.getFemalEcount ()+1) ؛ } genderrepository.save (genderstat) ؛ }} 3 عنوان رمز المصدر : https://github.com/wiselyman/spring-data-domain-event
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.