zoukankan      html  css  js  c++  java
  • Spring之事务控制

    编程式事务控制相关对象

    PlatformTransactionManager平台事务管理器(Interface)

    内部封装控制事务的方式,根据不同技术要使用不同的平台,在使用前要在Spring里配置

    管理事务就是成功时提交,失败时回滚,提交和回滚方法里的参数是TransactionStatus类型的status事务状态,而获取事务状态信息的函数是TransactionStatus类型的getTransaction,其参数TransactionDefination类型的defination

    TransactionDefination事务定义对象

    内部封装控制事务的参数信息,要在Spring里配置


    分别是:默认级别,读未提交,读已提交(解决脏读),可重复读(解决不可重复度),串行化(解决全部问题,性能很低)

    另外我们要通过配置的方式告诉Spring框架我们要使用哪个具体的事务平台管理器

    TransactionStatus事务状态对象

    内部封装不同时间点事务各状态的信息,无需配置,状态信息会被动改变

    基于XML的声明式事务控制

    什么是声明式事务控制

    如何进行声明式事务控制(转账业务)

    Account对象:

    dao实现类:

    service实现类:

    时,如果没用事务存在,会导致转账业务转出方扣钱,转入方不会收到钱。因此我们引入AOP思想,以AccountService作为目标对象创造代理对象,内部的tarnsfer作为切点,通过增强的方式添加事务。

    controller:

    applicationContext:内部配置了IOC(包括jdbcTemplate),AOP,事务控制

    通知 事务的增强,Spring已经提供,无需自己写,需要引入命名空间:含有tx的

    中的


    IOC:

    平台事务管理器:

    事务通知:

    AOP:

    基于注解:略

  • 相关阅读:
    20190922 模拟
    poj3417 Network/闇の連鎖[树上差分]
    poj3280 Cheapest Palindrome[区间DP]
    poj3691 DNA repair[DP+AC自动机]
    BZOJ1030 [JSOI2007]文本生成器[DP+AC自动机]
    loj2424 「NOIP2015」子串[字符串DP]
    poj1038 Bugs Integrated, Inc.[状压DP]
    第05组 Beta冲刺 (2/5)(组长)
    第05组 Beta冲刺 (1/5)(组长)
    第05组 Alpha冲刺 总结(组长)
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12200848.html
Copyright © 2011-2022 走看看