Spring-Transaktionen
Transaktionsverwaltung mit @Transactional, propagation, isolation, rollback, PlatformTransactionManager
1Was ist die Hauptaufgabe der @Transactional-Annotation in Spring?
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.
2Was ist der standardmäßige Propagation-Typ für @Transactional?
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.
3Was passiert, wenn in einer @Transactional-Methode eine RuntimeException geworfen wird?
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.
Wo kann die @Transactional-Annotation angewendet werden?
Welches Verhalten verfolgt Propagation.REQUIRES_NEW?
+27 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
JPA-Abfragen
Spring Data Repositories
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten