2018-01-14

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

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

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.基于注解

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,117评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,214评论 18 399
  • I was more like Haw. Life chang so much since I graduated...
    平平_9d7a阅读 1,436评论 0 0
  • 葡萄酒按颜色可以分为白葡萄酒、红葡萄酒和桃红酒。但是,葡萄酒的颜色却随着葡萄品种,产区和酿造方法的不同有着千万的变...
    晕晕乎乎er阅读 7,828评论 12 57