Spring、Spring事务详解;使用XML配置事务

原创 2015年11月17日 17:30:35

@Transactional可以设置以下参数:

@Transactional(readOnly=false)  // 指定事务是否只读的 true/false
@Transactional(rollbackFor=Exception.class)  //指定在什么异常情况下回滚事务,默认在运行时异常回滚(RuntimeException),Exception异常不回滚
@Transactional(noRollbackFor=Exception.class) //指定在什么异常情况下不回滚事务 ,默认在运行时异常回滚(RuntimeException),Exception异常不回滚
@Transactional(noRollbackForClassName="Exception") // 同@Transactional(noRollbackFor=Exception.class) 
@Transactional(rollbackForClassName="Exception") // 同@Transactional(noRollbackFor=Exception.class)
@Transactional(timeout=30000) //设置事务超时时间,默认30秒
@Transactional(propagation=Propagation.NOT_SUPPORTED) //不使用事务;propagation设置事务的传播特性,具体看下面
@Transactional(isolation=Isolation.REPEATABLE_READ) //数据库事务隔离级别

Propagation 详解:


Isolation详解:



使用XML配置事务:

<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
	<tx:advice id="txAdvice" transaction-manager="txManager">
		<tx:attributes>
			<tx:method name="get*" propagation="NOT_SUPPORTED" />
			<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
		    <tx:method name="del*" propagation="REQUIRED" rollback-for="Exception" />
		    <!-- ... -->
		</tx:attributes>
	</tx:advice>
	
	<!--  配置参与事务的类 -->
	<aop:config>
		<aop:pointcut id="transcationPointcut" expression="execution(* cn.service.impl.*.*(..))"/>
		<aop:advisor pointcut-ref="transcationPointcut" advice-ref="txAdvice" />
	</aop:config>


注: 使用注解的方式配置事务,更加的方便,可扩展性更高,推荐使用注解的方式配置事务。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring声明式事务管理(XML与注解方式)

事务控制概述编程式事务控制自己手动控制事务,就叫做编程式事务控制。 Jdbc代码: Conn.setAutoCommite(false); // 设置手动控制事务 Hibernate代码: ...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年11月16日 17:40
  • 2738

Spring 事务的配置和使用详解(包括手动对事务的控制部分)

最近项目中用到了spring的注解类的事务管理,所以特地学习和记录一下spring的配置和使用。项目中使用的是springMVC + mybatis + mysql。spring的版本是4.3.0.R...
  • whbing1471
  • whbing1471
  • 2017年01月05日 20:14
  • 4124

Spring事务管理——使用XML配置声明式事务

事务简介:事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性事务就是一系列的动作,它们被当作一个单独的工作单元。这些动作要么全部完成,要么全部不起作用事务的四个关键属性(ACI...
  • Evankaka
  • Evankaka
  • 2015年05月08日 14:54
  • 11244

spring的事务配置详解

接下来我将给大家介绍spring事务配置的两种方式: 1.基于XML的事务配置。2.基于注解方式的事务配置。 前言:在我们详细介绍spring的两种声明式事务管理之前,我们需要先理解这些概念 1)sp...
  • zhaofuwu
  • zhaofuwu
  • 2016年09月04日 15:58
  • 5726

MyBatis搭配spring和事务配置

我这里做的例子是mybatis。一:需要的jar mysql mysql-connector-java 5.1....
  • faicm
  • faicm
  • 2016年08月29日 19:11
  • 1282

spring中事务的注解配置优先级别

spring中事务的注解配置优先级别10 spring中对于事务的注解配置可以使用两种方式,一种是 Xml代码       tx:advice id="txAdvice" tra...
  • ccecwg
  • ccecwg
  • 2014年04月21日 17:59
  • 839

Spring事务管理详解

Spring事务管理详解
  • donggua3694857
  • donggua3694857
  • 2017年04月09日 22:43
  • 2738

Spring对事务配置的五种方式和事务的传播属性和隔离级别

这应该是自己第一次认真的写博客,驱动自己写这个博客的原因如下:1、工作这么久,都会把自己的积累以网页的形式放到硬盘中,分类不清晰,查找更不方便,如果数据丢失,这些经验有可能会白费。2、面试的经历让自己...
  • zfc0911611622
  • zfc0911611622
  • 2014年12月18日 15:00
  • 362

Spring Boot事务配置

1、在启动主类添加注解:@EnableTransactionManagement 来启用注解式事务管理,相当于之前在xml中配置的注解驱动。2、在需要事务的类或者方法上面添加@Transactiona...
  • rickiyeat
  • rickiyeat
  • 2017年03月14日 14:31
  • 7152

Spring4深入理解----事务(声明式事务和xml配置事务,事务传播属性,事务其他属性(隔离级别&回滚&只读&过期))

参考代码下载github:https://github.com/changwensir/java-ee/tree/master/spring4   •事务管理是企业级应用程序开发中必不可少的技术...
  • oChangWen
  • oChangWen
  • 2016年09月17日 13:39
  • 3227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring、Spring事务详解;使用XML配置事务
举报原因:
原因补充:

(最多只允许输入30个字)