1.DDD dan data pegas
DDD: Desain berbasis domain adalah metode implementasi pengembangan perangkat lunak di bawah persyaratan yang kompleks. Saya akan menjelaskan DDD secara khusus ketika saya punya waktu.
Data pegas dirancang di banyak tempat sesuai dengan prinsip DDD (seperti repositori). Di sini data pegas terutama mengimplementasikan acara agregat dan domain DDD:
Di bawah ini kami menunjukkan sejumlah statistik nomor pria dan wanita ketika akar agregat seseorang berhasil disimpan, melalui atribut gender orang, statistik entitas genderstat diperbarui.
2. Demo
2.1 Root agregat orang
Sebagai root agregat, orang memiliki kemampuan untuk menerbitkan acara domain. Ada dua cara untuk mengimplementasikannya di bawah data musim semi:
menyukai:
@Entitas@data@allArgsconstructor@noargsconstructor@tostring (tidak termasuk = "domainevents") orang kelas publik {@id @generatedValue Private Long ID; nama string pribadi; Private Integer Gender; // 1: Pria; 2: betina @DomainEvents Collection <POMPERTS> domainEvents () {List <Papen> events = new ArrayList <POMPERTS> (); events.add (baru personveDevent (this.id, this.gender)); Acara kembali; } @Afterdomaineventpublication membatalkan callbackMethod () {//}}atau
@Entitas@data@allArgsconstructor@noargsconstructor@tostring (tidak termasuk = "domainevents") orang kelas publik memperluas abstractaggregateoot {@id @generatedValue private long ID; nama string pribadi; Jenis kelamin bilangan bulat pribadi; // 1: laki -laki; 2: orang publik perempuan setelah yang dapat dikendalikan () {registerEvent (new PersonsavedEvent (this.id, this.gender)); kembalikan ini; }}2.2 Penanganan Acara Mendengarkan
@ComponentPublic kelas genderstatprocessor {@Autowired genderrepository genderrepository; @Async @TransactionAleventListener public void handleafterpersonvedComplete (PersonsVeDevent Event) {genderstat genderstat = genderrepository.findone (1L); if (event.getgender () == 1) {genderstat.setMalecount (genderstat.getMalecount ()+1); } else {genderstat.setFemalecount (genderstat.getFemalecount ()+1); } genderrepository.save (genderstat); }} 3 Alamat Kode Sumber : https://github.com/wiselyman/spring-data-domain-event
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.