Spring框架之@Transactional注解用法(一)

一、用法简介

@Transactional注解是spring的核心思想AOP(面向切面编程)的体现。它可以结合事务管理器类帮助我们更好地管理事务。

以spring和mybatis的整合为例。

二、环境配置

1、maven项目的目录结构

 

2、pom.xml

(只列出部分配置)

    <!-- spring jar -->
    <dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-context</artifactId>
	    <version>3.2.18.RELEASE</version>
	</dependency>
    <!-- mybatis  jar -->
    <dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.4.5</version>
	</dependency>
    
	<!-- spring和myabtis整合的jar -->
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis-spring</artifactId>
	    <version>1.3.0</version>
	</dependency>
    
    <!-- 
        ... 省略部分配置
    -->

3、spring-myabtis.xml 配置文件

     (以xml方式的映射和接口方式的映射组合为例)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Spring框架中,@Transactional注解用于声明一个方法或类是一个事务方法。它可以被应用在方法级别或类级别,并且具有以下使用方法: 1. 方法级别的@Transactional注解: - 在单个方法上使用@Transactional注解,表示该方法是一个事务方法。 - 当方法被调用时,如果当前没有活动的事务,则会启动一个新的事务。如果已经存在一个活动的事务,则该方法将在该事务的上下文中运行。 - 如果方法成功执行并正常返回,事务将被提交。如果方法抛出异常,则事务将被回滚。 2. 类级别的@Transactional注解: - 在类级别上使用@Transactional注解,表示该类中的所有公共方法都是事务方法。 - 类级别的注解可以被方法级别的注解覆盖,即如果一个方法上有@Transactional注解,则该方法会覆盖类级别的注解。 3. 设置事务属性: - @Transactional注解还可以使用一些属性来配置事务的行为。例如,可以使用propagation属性指定事务的传播行为,默认值为REQUIRED。还可以使用isolation属性指定事务的隔离级别,默认值为DEFAULT。 - 其他可用的属性还包括timeout(指定事务超时时间),readOnly(指定事务是否为只读模式)等。 示例代码: ```java @Service public class MyService { @Transactional public void performTransaction() { // 在这里执行数据库操作 } @Transactional(propagation = Propagation.REQUIRES_NEW, isolation = Isolation.READ_COMMITTED) public void performAnotherTransaction() { // 在这里执行数据库操作 } } ``` 在上述示例中,`performTransaction`方法和`performAnotherTransaction`方法都被声明为事务方法。其中,`performTransaction`方法使用默认的事务属性,而`performAnotherTransaction`方法设置了传播行为为REQUIRES_NEW,隔离级别为READ_COMMITTED。这些方法中的数据库操作将在事务的上下文中执行,并根据事务的提交或回滚来保证数据的一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值