达内云笔记(四)Spring事务处理
来源:互联网 发布:centos7安装nginx php 编辑:程序博客网 时间:2024/06/10 04:43
事务:ACID特性
原子性,一致性,隔离性和持久性
为了保证一个业务操作的完整完成,避免其他业务过程的干扰
编程式事务处理:
conn = DBUtil.getConnection();try{//开始事务conn.setAutocomit(false);//业务操作过程select..update..delete//提交事务conn.commit;}catch(e){//回滚事务conn.rollback();}finally(){//释放资源conn.close();}
Spring 利用AOP,实现了声明式业务管理:
try{@Before//开启事务利用反射调用业务方法@AfterReturning//提交事务}catch(e){@AfterThrowing//回滚事务}finally(){@After//释放资源}声明式事务:
@Transactional//事务注解public updateNote(){...insertupdate...//抛出异常(只抓RuntimeException和其子类型)//自动回滚到Before位置}配置事务管理器:
<!-- 配置事务管理器:基于dataSource的事务管理器 --><bean id="txMgr" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property></bean><!-- 用于驱动@Transactional 注解 --><tx:annotation-driven transaction-manager="txMgr"/>
@Transactional的底层还是依赖AOP
@Transactional可以标注在类上,类中所有的方法都可以被事务控制
****************************************************************************
事务的属性:
@Transaction(readOnly=true) 只读属性,方法运行期间,对数据库的操作仅限于读。加此属性的优点是可以让仅查的方法提高效率。
@Transaction(isolation=Isolation.READ_COMMITTED) 只操作提交的
READ_UNCOMMITTED最低隔离(不安全性能好)
SERIALIZABLE完全串型操作(性能最差最安全)
REPEATABLE_READ可重复读取
如果不写默认READ_COMMITTED,一般使用这个。
@Transaction(propagation=Propagation.REQUIRED) 一个事务与多个事务连成一个整体,默认值为REQUIRED。当业务层中调用业务层方法时,多个事务会合并成一个事务。
REQUIRES_NEW属性表示必须创建新事务,如果当前有事务,则当前事务挂起。
NEVER绝不参加事务。
REQUIRES_NESTED 嵌套,事务必须潜逃到其他事务中。
MANDATORY不能参与事务。
NOT_SUPPORTED不支持,可以在事务中调用,但是不参与不支持事务,会抛异常。
SUPPORTS支持事务,可以在事务中调用,但单独调用方法则没有事务保护
- 达内云笔记(四)Spring事务处理
- Spring框架内容整理(四):Spring事务处理
- JAVAEE之Spring学习(四)---通过spring注解进行事务处理
- Spring事务处理
- spring事务处理
- spring事务处理
- spring事务处理
- Spring 事务处理
- Spring 事务处理
- spring事务处理
- spring事务处理
- spring事务处理
- spring事务处理
- spring事务处理
- Spring 事务处理
- Spring事务处理
- Spring-事务处理
- spring事务处理
- angular自定义过滤器
- CCF认证201703-1 分蛋糕
- 可靠事件系统Tarzan的设计与实现
- tomcat正常启动后http://localhost:8080/报错404
- 计算机网络
- 达内云笔记(四)Spring事务处理
- C语言Socket图片传输中的图片保存问题
- oracle统计用户下所有的表,字段个数,表数据条数,以及表中文名
- vim记住上次打开位置
- Libpcap库编程指南--过滤数据包
- vimの自动补全ex命令
- Spring 2.5配置文件详解
- ListView滚动条相关属性详细讲解
- 数字图像处理成长之路1:look up table