spring 事务注解
时间: 2024-09-12 17:06:36 浏览: 55
Spring框架提供了一套强大的事务管理机制,其中包含了各种注解来简化事务配置。以下是常用的几个Spring事务注解:
1. `@Transactional`:这是最核心的注解,用于标记需要进行事务处理的方法。它可以在类级别或方法级别使用,例如:
```java
@Transactional // 类级别的事务
public class MyService {
@Transactional // 方法级别的事务,默认传播行为是PROPAGATION_REQUIRED
public void someMethod() {
// ...
}
}
```
参数可以设置事务隔离级别、传播行为等,比如:
```java
@Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRES_NEW)
```
2. `@Rollback`:这个注解通常配合`@Transactional`使用,当满足特定条件时,如异常发生,会回滚当前事务,无需显式地通过`@.Transactional`的rollbackFor属性指定。
3. `@NoTransaction`: 如果你想在某些方法上禁用当前类的事务上下文,可以使用这个注解。
4. `@Repository`、`@Service` 和 `@Controller` 注解的默认行为:在Spring MVC中,如果一个类被标注为`@Repository`(数据访问层),默认会开启事务;`@Service`(业务逻辑层)和`@Controller`(控制器层)则默认是声明式事务管理,除非明确指定。
使用这些注解可以让你专注于业务逻辑,而Spring会在幕后自动管理事务的开始、提交或回滚。
阅读全文