码迷,mamicode.com
首页 > 编程语言 > 详细

spring事务管理

时间:2016-05-07 07:44:12      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

一、什么是事务:

     事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。

     (例如:银行转账,如果张三给李四转1000元,那么李四得收到这1000元,假如中间出现异常,停电或者其他原因,张三的钱转出去了,而李四没收到,这就出大问题了,

       顾需要事务来管理)

二、事务的特性:

    1、原子性:是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要不都不发生。

    2、一致性:是指事务的的前后数据的完整性必须保持一致。

    3、隔离性:是指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要互相隔离。

    4、持久性:是指一个事务一旦被提交,它对数据库中的数据改变就是永久的,即使数据库发生任何故障也不应该对此有任何影响。

三、spring事务管理高层抽象主要接口包括三个接口:

    1、PlatfromTransactionManager 事务管理器:(具体见api文档介绍)

           技术分享

    2、TransactionDefinition 事务定义信息(传播、隔离、超时,只读):(具体见api文档介绍)

          技术分享

    3、TransactionStatus 事务具体运行状态:

         技术分享

四、spring支持两种方式事务管理:

    1、编程式的事务管理:在实际应用中很少使用,通过TransactionTemplate手动管理事务。

    2、使用xml配置声明式事务:开发中推荐并经常使用,spring声明式事务是通过AOP实现的。

五、编程式事务管理:
        手动编写代码进行事务管理(很少使用)

      技术分享六、声明式事务管理:

     1、声明式事务管理方式一:基于TransactionProxyFactoryBean的方式:

            需要为每个进行事务管理的类,配置一个TransactionProxyFactoryBean进行增强。

     2、声明式事务管理方式二:基于AspectJ的XML方式:

            一旦配置好之后,类上面不需要添加东西。

     3、声明式事务管理方式三:基于注解的方式:

           配置简单,需要在业务层类上添加一个@Transactional的注解。


spring事务管理

标签:

原文地址:http://blog.csdn.net/lovelichao12/article/details/51183635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!