Heim  >  Artikel  >  Java  >  Welche Methoden gibt es für deklarative Transaktionen in Java?

Welche Methoden gibt es für deklarative Transaktionen in Java?

PHPz
PHPznach vorne
2023-05-16 19:10:591590Durchsuche

1. Deklarative Transaktion

Verwenden Sie die AOP-Methode (aspektorientiert), um die Transaktion mithilfe der programmgesteuerten Transaktionsmethode vor der Methode zu öffnen und nach der Methode ein Commit oder Rollback durchzuführen. Verwenden Sie Konfigurationsdateimethoden oder Anmerkungsmethoden (z. B. @Transactional), um Transaktionen zu steuern.

Die Annotation zur Methode bedeutet, dass die Methode die Transaktion automatisch startet, und für die Klasse verwendet die Methode in der gesamten Klasse die Transaktion

2. Methode

1. Deklaratives Transaktionsmanagement basierend auf TransactionProxyFactoryBean

in applicationContext Konfigurieren Sie

Welche Methoden gibt es für deklarative Transaktionen in Java?

in .xml und fügen Sie dann die Proxy-Klasse accountrviceProxy

@Resource(name="accountrviceProxy")
in die Serviceschicht ein, die Transaktionsverwaltung benötigt. Diese Methode hat einen Nachteil, das heißt, wir müssen sie mit jedem Service abgleichen Klasse, die eine Transaktionsverwaltung benötigt. Die Konfiguration ihrer Proxy-Klasse ist relativ umständlich.

2. Deklaratives Transaktionsmanagement basierend auf AspectJ XML

Bei der Konfiguration des Einstiegspunkts gibt es einen Ausdruck:

expression="execution(* com.cn.study.spring.service.IAccountService+.*(..))"
Die Parameter in den Ausführungsklammern repräsentieren den Methodenrückgabetyp, den Paketnamen, den Klassennamen, den Methodennamen und die Parameter der Methode

wobei * ein beliebiges

IAccountService+ die Methoden aller Implementierungsklassen der IAccountService-Schnittstelle darstellt

Diese Methode wird häufiger verwendet.

3. Annotationsbasiertes deklaratives Transaktionsmanagement

Der dritte Weg ist der einfachste. Wir müssen nur den Treiber konfigurieren, der Annotationstransaktionen in applicationContext.xml ermöglicht, und dann Annotationen vor den Klassen hinzufügen, die eine Transaktionsverwaltung benötigen:

@Transactional(propagation=Propagation.REQUIRED)

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es für deklarative Transaktionen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen