Spring的transaction机制
1. Spring transaction机制的特点
第一:Spring支持2种transaction管理机制,一种是声明性的管理机制;另一种是编程管理方式;Spring是目前除了EJB Container之外,我所知道的唯一的能做到这点的Framework。在编程管理方式中,Spring利用Template设计模式,极大的简化了代码中transation管理相关的代码;Spring利用AOP方式实现了声明性的Transaction管理。
第二:Spring的transaction模型采取的是委托模型,Spring将实际的transaction的管理委托给底层的Persistence的组件来完成的。
2. Spring transaction的委托模型
Spring拥有其他Persistence组件的强大的整合能力,在transaction这一块儿的处理上,Spring采用的是委托模型的形式,即将transaction相关的管理委托给底层的Persistence组件。例如:hibernate的transaction机制就是委托给hibernate本身来处理的。参见下图
