美文网首页
2018-01-14

2018-01-14

作者: 迷茫的小白鼠 | 来源:发表于2018-01-15 13:31 被阅读0次

    何为事务: 一组数据逻辑操作,要么全成功,要么全失败。

    事务的四大特性:原子性 一致性 隔离性 持久性

    Spring事务三个重要接口:

    PlatformTransactionManager(提交回滚)

    TransactionDefination(隔离 传播 超时 只读)

    事务的隔离主要解决数据的脏读 不可重复读 虚读

    事务的传播行为主要解决业务层方法相互调用时,事务如何传递的问题。

    TransactionStatus(记录事务的状态)

    上述三个接口有何关系:根据TransactionDefination定义的事务,PlatformTransaction进行管理,过程或结果产生的状态信息记录在TransacationStatus里。

    Spring事务管理

    1.编程式事务管理

    示例:public void transfer(final String out, final String in, final Double money) {

    transactionTemplate.execute(new TransactionCallbackWithoutResult() {

    @Override

    protected void doInTransactionWithoutResult(TransactionStatus arg0) {

    // TODO Auto-generated method stub

    accountDao.outMoney(out, money);

    int i = 1/0;

    accountDao.inMoney(in, money);

    }

    });

    2.声明式事务管理

    (详情查看spring_transaction这个工程)

    a.基于TransactionProxyFactoryBean

    b.基于AspectJ

    3.基于注解

    相关文章

      网友评论

          本文标题:2018-01-14

          本文链接:https://www.haomeiwen.com/subject/nyokoxtx.html