Spring Framework FAQ: Top Questions
15. How does Spring manage transactions?
Spring provides a consistent programming model for transaction management through declarative and programmatic approaches. It integrates with various transaction APIs and backends (JDBC, JPA, Hibernate).
📘 Declarative Management:
@Transactional
public void transferFunds() {
debitAccount();
creditAccount();
}
📘 Programmatic Management:
TransactionTemplate txTemplate = new TransactionTemplate(txManager);
txTemplate.execute(status -> {
debitAccount();
creditAccount();
return null;
});
🏆 Expected Output:
Transaction is committed if successful, rolled back if an exception occurs.
🛠️ Use Cases:
- Ensuring ACID properties in data operations.
- Declarative style for business methods, programmatic for finer control.