事务都是为了保证数据的一致和完整,保证整个操作的原子性。不论是spring事务还是×××事务,都一样。
银行扣款流程的例子就不举了,懒得打字,网上搜下吧很多的

解决方案 »

  1.   

    嗯 这个是理解   是不是数据库操作方面最好都要用事务?  spring事务如果用什么时候用呢?
      

  2.   

    不一定,简单的一句select就用不到事务,当然,如果你的这个select要记录日志,日志记录出错不让select,那就又是一个事务了。
    还有一些,比如,上传文件。文件保存在操作系统,相关信息保存在数据库,要么两个保存都成功,要么都失败,这么也是一个事务了。spring不懂。说白了就是,事务跟spring是两个概念。spring支持事务而已。什么时候用spring事务,那要看你的业务逻辑,是否需要保证整个操作的原子性。over。
      

  3.   


    呵呵  非常感谢  明白了  再学习下spring的事务
      

  4.   

    昨天看了下spring事务,我总结下几个优点:
    (1):传统事务需要很长代码支持,比如try{}catch(){}, 然后异常要回滚,否则提交,如果习惯了可能也没什么,但是项目大了,东西多了,也许你就没有那么好一个个处理了,而spring事务可以将这种事务管理通过配置方式来处理,在代码中不需要程序员更多的关注事务。
    (2):spring事务支持对于不同的事务api支持,比如jdbc,dbcp,hibernate等
    (3):spring事务有两种方式:一种是程序式,一种是声明式。
    程序式:通过spring提供的PlatformTranstionManager接口,在配置文件中定义这样一个bean,在程序中获取这个bean后,就可以获取到事务,rollback,commit等
    声明式:也是建议使用的一种,只需在配置文件中定义好spring的transtionProxy类,然后指向target目标,这样就可以在跳转目标中直接使用事务,使用和配置都很简单,这样程序员就可以不用太关心在代码中对事务的管理。我的理解是这样,大家有好意见可以补充
      

  5.   

    不配置 事务 你要是调用瞬态的实体 每次都要在代码提交事务。。
    而且我发觉 没spring 的事务的时候 读数据库 贼慢。。
    配置后 快多了。