Spring is a Java framework that supplies application infrastructure while letting developers focus on business logic. Its central idea is dependency injection, also called inversion of control (IoC): a container creates, configures, and manages application objects called beans. section 14.1
Spring coordinates several application concerns:
- Dependency injection assembles collaborating components from application classes and configuration metadata. section 14.1
- Persistence integrations let Spring control JPA EntityManager or Hibernate SessionFactory instances, transaction managers, and DAO components. section 14.6
- Transaction management supports declarative annotations or programmatic TransactionTemplate usage across Hibernate, JPA, and Spring Data JPA. section 11.4
A transaction-manager boundary
PlatformTransactionManager defines the transaction lifecycle: obtain a TransactionStatus with getTransaction, then commit or roll back that status. Application code usually reaches this abstraction through annotations or TransactionTemplate rather than invoking the interface directly. section 11.4
public interface PlatformTransactionManager extends TransactionManager { TransactionStatus getTransaction( @Nullable TransactionDefinition definition) throws TransactionException; void commit(TransactionStatus status) throws TransactionException; void rollback(TransactionStatus status) throws TransactionException; }
Use the interface listing to inspect Spring’s core transaction boundary and its get, commit, and rollback operations. section 11.4


