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 Transaktion2. Methode
1. Deklaratives Transaktionsmanagement basierend auf TransactionProxyFactoryBean
in applicationContext Konfigurieren Sie 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 Methodewobei * ein beliebiges IAccountService+ die Methoden aller Implementierungsklassen der IAccountService-Schnittstelle darstelltDiese 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!