Technologieaustausch

spring tx @Transactional Detaillierte Erläuterung von „Advisor“, „Target“, „ProxyFactory“.

2024-07-11

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

Im Frühling,@TransactionalDie Verarbeitung von Anmerkungen umfasst mehrere Schlüsselkomponenten, darunterAdvisorTargetProxyFactory Warten. Nachfolgend finden Sie eine detaillierte Erklärung und ein Codebeispiel, die erklären, wie diese Komponenten zusammenarbeiten.

1. Einführung in Schlüsselkomponenten

1.1 Berater

Advisor Es handelt sich um ein Spring AOP-Konzept, das Pointcut und Ratschläge beinhaltet. In der Unternehmensführung,TransactionAttributeSourceAdvisorIst ein typischer Berater.

1.2 Ziel

TargetEs bezieht sich auf das Zielobjekt, das als Proxy fungiert, also auf das Objekt, das die Geschäftslogik tatsächlich ausführt.

1.3 ProxyFactory

ProxyFactory Es handelt sich um eine von Spring bereitgestellte Factory-Klasse zum Erstellen von Proxy-Objekten. Es kann Proxy-Objekte mithilfe dynamischer JDK-Proxys oder CGLIB erstellen.

2. @Transactional-Verarbeitungsablauf

  1. Anmerkungen analysieren: Frühlingsscan@TransactionalAnmerkung.
  2. Berater erstellen: Erstellen Sie eine TransaktionsverarbeitungslogikAdvisor
  3. Proxy-Objekt erstellen:verwendenProxyFactoryErstellen Sie ein Proxy-Objekt für das Zielobjekt und fügen Sie es hinzuAdvisorZum Proxy-Objekt hinzugefügt.

3. Codebeispiele

3.1 Konfigurationsklasse

Erster Pass@EnableTransactionManagementAktivieren Sie die Transaktionsverwaltung.

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

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