Berbagi teknologi

spring tx @Transaksional Penjelasan mendetail tentang `Advisor`, `Target`, `ProxyFactory

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Di musim semi,@TransactionalPemrosesan anotasi melibatkan beberapa komponen utama, antara lainAdvisorTargetProxyFactory Tunggu. Di bawah ini adalah penjelasan rinci dan contoh kode yang menjelaskan bagaimana komponen-komponen ini bekerja sama.

1. Pengenalan komponen-komponen utama

1.1 Penasehat

Advisor Ini adalah konsep Spring AOP, yang mencakup pointcut dan saran. Dalam manajemen bisnis,TransactionAttributeSourceAdvisorAdalah penasihat yang khas.

1.2 Sasaran

TargetIni mengacu pada objek target yang diproksi, yaitu objek yang benar-benar menjalankan logika bisnis.

1.3 Pabrik Proksi

ProxyFactory Ini adalah kelas pabrik yang disediakan oleh Spring untuk membuat objek proxy. Itu dapat membuat objek proxy menggunakan proxy dinamis JDK atau CGLIB.

2. @alur pemrosesan transaksional

  1. Parsing anotasi: Pemindaian musim semi@Transactionalanotasi.
  2. Buat Penasihat: Membuat logika pemrosesan transaksiAdvisor
  3. Buat objek proxy:menggunakanProxyFactoryBuat objek proxy untuk objek target dan tambahkanAdvisorDitambahkan ke objek proxy.

3. Contoh kode

3.1 Kelas konfigurasi

Pertama, lulus@EnableTransactionManagementAktifkan manajemen transaksi.

import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@EnableTransactionManagement
public class AppConfig {
    // DataSource, EntityManagerFactory, TransactionManager beans configuration
}