Frontier: Dengan studi yang lebih mendalam tentang manajemen transaksi pegas, artikel ini tidak akan membuat contoh, tetapi menentukan kelas dan file konfigurasi tertentu untuk penjelasan.
Konten artikel ini:
1. Memahami apa itu transaksi deklaratif?
2. Apa manajemen transaksi deklaratif?
3. Apa perbedaan antara jenis manajemen transaksi ini?
1. Apa itu transaksi deklaratif?
Manajemen transaksi deklaratif adalah salah satu cara untuk mengelola transaksi program yang disediakan oleh Spring. Transaksi deklaratif Spring menggunakan metode deklaratif untuk menangani transaksi, dan menggunakan pemrosesan deklaratif transaksi dalam file konfigurasi pegas untuk menggantikan pemrosesan transaksi berbasis kode. Keuntungan dari ini adalah bahwa manajemen transaksi tidak menyerang komponen pengembangan. Secara khusus, objek logika bisnis tidak akan menyadari bahwa itu dalam manajemen transaksi. Faktanya, hal yang sama seharusnya benar, karena manajemen transaksi adalah layanan tingkat sistem, bukan bagian dari logika bisnis. Jika Anda ingin mengubah manajemen transaksi, Anda hanya perlu memodifikasi konfigurasi dalam file konfigurasi yang ditentukan. Ketika tidak diperlukan manajemen transaksi, cukup ubah pada file konfigurasi dan hapus layanan manajemen transaksi tanpa mengubah kode dan mengkompilasi ulang, yang sangat nyaman untuk dipelihara.
2. Metode manajemen transaksi deklaratif.
Pertama, mari kita lihat manajemen transaksi asli sebelum kita dapat berbicara tentang metode manajemen transaksi deklaratif.
Seperti yang dapat dilihat dari gambar di atas, pertama -tama kita perlu membuat sesi baru. Opensession (), kedua, kita perlu membuat dan melakukan transaksi melalui metode getTransaction (). Begin () dan getTransaction (). Metode Commit (), dan kita perlu menutup sesi. CLOSE (). Dengan cara ini, setiap kali kami menyebut metode ini, kami akan menciptakan kembali sesi baru dan melakukan hal yang sama berulang kali, yang tidak sesuai dengan ide desain rekayasa perangkat lunak kami. Selanjutnya, kami menggunakan manajemen transaksi deklaratif untuk menyederhanakan dan menyesuaikan kode.
1. Gunakan Manajemen Transaksi Deklaratif Spring.
1.1. Kita perlu mengimpor beberapa paket AOP:
1.2. Kemudian lakukan konfigurasi transaksi di file konfigurasi application.xml:
1.3. Ubah metode permintaan semua data:
Setelah penjelasan di atas, kita dapat melihat modifikasi metode showallnews (). Pertama, kami mengubah metode OpenSession () asli menjadi GetCurrentsession () (Catatan: tangkapan layar memiliki komentar untuk menggambarkan perbedaan mereka, jadi saya tidak akan mengulanginya). Tidak perlu secara manual membuat dan melakukan transaksi. Springaop kami akan secara otomatis mengelola transaksi dan secara otomatis menutup sesi.
2. Gunakan metode anotasi @transactional.
2.1. Pertama, kita perlu melakukan konfigurasi transaksi di file konfigurasi application.xml (beri tahu kontainer pegas untuk menangani pemrosesan kacang anotasi @transactional):
2.2. Maka tidak perlu melakukan operasi atau modifikasi di NewsdaoImpl:
2.3. Tambahkan anotasi ke NewsServiceImpl.
Di sini kita dapat menambahkan anotasi @transactional ke kelas (yang berarti semua metode ditambahkan ke manajemen transaksi), atau menambahkan anotasi @transactional ke metode tertentu. Jika itu adalah metode yang tidak memerlukan memodifikasi data, tambahkan atribut.
Misalnya: Metode untuk meminta semua data @transactional (readonly = true)
3. Perbedaan antara manajemen transaksi deklaratif yang dikonfigurasi menggunakan anotasi SpringAop dan @transactional:
1) Manajemen Transaksi Deklaratif Konfigurasi Springing memiliki kopling rendah, keterbacaan rendah, ekspresi terperinci, dan fleksibilitas tinggi.
2) Anotasi @transactional memiliki keterbacaan yang tinggi, dan kontennya tersebar dan tidak kondusif untuk manajemen dan pemeliharaan terpadu, dan memiliki kopling tinggi.
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.