【Spring 核心】(4):Spring事务 的实现

        

          spring事务的实现可以当做是springAOP和IOC的结合使用。设计原理就是使用AOP实现了声明式事务处理的interceptor,封装了对spring的处理过程。


           声明式事务实现首先需要配置aop环境,生成代理对象TransactionProxy和TrasactionInterceptor。封装不同的事务处理,整合具体实现到AOP和IOC。提供了即开即用的事务服务功能。在事务处理过程中,TransactionInfo和TransactionStatus是事务处理信息和状态的数据存储的对象。后面的事务处理都需要根据状态来进行的,当做参数传入。具体的事务处理是交给TransactionManager管理的,他提供了通用的事务处理模板,如doCommit等。具体的操作由具体的事务处理器来实现。



          导图放大:http://pan.baidu.com/s/1nvfrJqL




重要类图:












  总结:


           spring事物的设计,通过AOP来对事务进行封装,与线程绑定处理并发,很方便使用。spring的灵活之处应该就在于它的灵活配置,AOP和IOC是体现。