In this chapter, you’ve learned both the fundamentals and low-level details for managing database transactions with Spring. We’ve explored two different avenues for applying transactions declaratively with Spring: via annotation and through XML-based Spring configuration. It’s also possible to utilize Spring’s transaction management programmatically, through the use of the TransactionTemplate. However this approach couples transactional behavior with the application’s business logic.
Understanding how transactions work, along with the available configuration options, is critical for developing and debugging multiuser applications. We’ve discussed both simple and complex scenarios in this chapter, and we hope they give you a taste of what’s possible when using Spring for transaction management.
Most important, Spring provides a consistent approach for applying transactional semantics to an application, no matter what the architecture or environment. This means that you can configure and code your application the same way, regardless of whether you’re deploying to a JEE app server using a JTA datasource or to a lightweight container with a local datasource. The difference is just a matter of configuration.
KeywordsTransaction Management Global Transaction Isolation Level Programmatic Transaction Transaction Support
Unable to display preview. Download preview PDF.