[[transaction]]
= Transaction Management

Comprehensive transaction support is among the most compelling reasons to use the Spring
Framework. The Spring Framework provides a consistent abstraction for transaction
management that delivers the following benefits:

* A consistent programming model across different transaction APIs, such as Java
  Transaction API (JTA), JDBC, Hibernate, and the Java Persistence API (JPA).
* Support for xref:data-access/transaction/declarative.adoc[declarative transaction management].
* A simpler API for xref:data-access/transaction/programmatic.adoc[programmatic] transaction management
  than complex transaction APIs, such as JTA.
* Excellent integration with Spring's data access abstractions.

The following sections describe the Spring Framework's transaction features and technologies:

* xref:data-access/transaction/motivation.adoc[Advantages of the Spring Framework's transaction support model]
  describes why you would use the Spring Framework's transaction abstraction instead of EJB
  Container-Managed Transactions (CMT) or choosing to drive transactions through a proprietary API.
* xref:data-access/transaction/strategies.adoc[Understanding the Spring Framework transaction abstraction]
  outlines the core classes and describes how to configure and obtain `DataSource` instances
  from a variety of sources.
* xref:data-access/transaction/tx-resource-synchronization.adoc[Synchronizing resources with transactions]
  describes how the application code ensures that resources are created, reused, and cleaned up properly.
* xref:data-access/transaction/declarative.adoc[Declarative transaction management] describes support for
  declarative transaction management.
* xref:data-access/transaction/programmatic.adoc[Programmatic transaction management] covers support for
  programmatic (that is, explicitly coded) transaction management.
* xref:data-access/transaction/event.adoc[Transaction bound event] describes how you could use application
  events within a transaction.

The chapter also includes discussions of best practices,
xref:data-access/transaction/application-server-integration.adoc[application server integration],
and xref:data-access/transaction/solutions-to-common-problems.adoc[solutions to common problems].
