sprboot自带的事务注解
时间: 2024-09-10 17:09:25 浏览: 34
Spring Boot 自带了一些用于管理数据库事务的注解,主要用于简化基于 Spring Data JPA 或 JDBC 的事务处理。以下是其中一些常用事务注解:
1. **@Transactional**: 这是Spring中最常见的事务管理注解。当标注在一个方法上时,该方法会自动在开始时开启事务,并在方法结束时提交或回滚事务。例如:
```java
@Transactional
public void someBusinessMethod() {
// ...业务逻辑...
}
```
2. **@.Transactional(propagation = Propagation.REQUIRES_NEW)**: 这表示开启一个新的事务,如果当前有事务则挂起。适合需要独立于当前事务的操作。
3. **@RepositoryTransaction** 或 **@Transactional(readOnly=true)**: 主要用于标记 Repository 接口的方法,使其默认使用声明式事务处理,并可以选择性地设置只读事务。
4. **@RollbackOn** 和 **@CommitOn**: 这些注解可以作为辅助工具,分别对应 `@BeforeCompletion`, `@AfterCompletion` 注解,自定义异常类型来控制事务的回滚和提交。
5. **@SaveAndFlush**: 对于JPA,这个注解会在保存实体之后立即刷新到数据库,适合那些需要即时可见性的场景。
请注意,使用事务注解时,还需要配置一个事务管理器,如 `PlatformTransactionManager` 来实际管理事务。
阅读全文