springboot事务如何使用?
时间: 2023-07-04 13:13:35 浏览: 110
在 Spring Boot 中,可以使用 `@Transactional` 注解来开启事务。以下是使用 `@Transactional` 的简单示例代码:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Transactional
public void saveUser(User user) {
userRepository.save(user);
}
@Transactional
public void deleteUserById(Long id) {
userRepository.deleteById(id);
}
}
```
在上面的代码中,`@Transactional` 注解被添加到 `saveUser` 和 `deleteUserById` 方法上。当这些方法被调用时,Spring 会自动管理事务。如果方法执行成功,则事务会被提交;如果方法执行失败,则事务会被回滚。
需要注意的是,`@Transactional` 注解默认只对运行时异常进行回滚,对于受检异常不会进行回滚。如果需要对受检异常也进行回滚,则需要在 `@Transactional` 注解中指定对应的异常类型。例如:
```java
@Transactional(rollbackFor = Exception.class)
public void saveUser(User user) {
userRepository.save(user);
}
```
这样,即使方法中抛出了任何类型的异常,事务也会被回滚。
阅读全文