Spring Boot

Spring-Transaktionen

Transaktionsverwaltung mit @Transactional, propagation, isolation, rollback, PlatformTransactionManager

30 Interview-Fragen·
Senior
1

Was ist die Hauptaufgabe der @Transactional-Annotation in Spring?

Antwort

@Transactional gibt an, dass eine Methode innerhalb eines transaktionalen Kontexts ausgeführt werden soll, und gewährleistet die Atomarität von Datenbankoperationen. Spring erstellt automatisch einen AOP-Proxy um die Klasse, um Beginn, Commit und Rollback von Transaktionen zu verwalten. Dieser deklarative Ansatz vereinfacht die Transaktionsverwaltung erheblich im Vergleich zur manuellen Programmierung mit TransactionTemplate oder PlatformTransactionManager.

2

Was ist der standardmäßige Propagation-Typ für @Transactional?

Antwort

Propagation.REQUIRED ist der standardmäßige Propagation-Typ. Mit dieser Strategie tritt Spring einer vorhandenen Transaktion bei, falls eine existiert, oder erstellt andernfalls eine neue. Dies ist das gängigste und intuitivste Verhalten für die meisten Anwendungsfälle und stellt sicher, dass für Datenbankoperationen immer eine Transaktion vorhanden ist.

3

Was passiert, wenn in einer @Transactional-Methode eine RuntimeException geworfen wird?

Antwort

Standardmäßig führt Spring automatisch ein Rollback der Transaktion durch, wenn eine RuntimeException (oder ein Error) geworfen wird. Dies stellt sicher, dass Datenbankänderungen bei unerwarteten Fehlern rückgängig gemacht werden. Checked Exceptions hingegen (die von Exception, aber nicht von RuntimeException erben) lösen standardmäßig kein Rollback aus, sofern sie nicht explizit mit rollbackFor angegeben werden.

4

Wo kann die @Transactional-Annotation angewendet werden?

5

Welches Verhalten verfolgt Propagation.REQUIRES_NEW?

+27 Interview-Fragen

Meistere Spring Boot für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten