springboot开启事务
在Spring Boot中开启事务可以通过使用@Transactional注解来实现。@Transactional注解可以用在类级别或方法级别。
如果将@Transactional注解应用于类级别,那么该类的所有公共方法都将开启事务。如果将@Transactional注解应用于方法级别,那么只有该方法将开启事务。
以下是一个示例,展示了如何在Spring Boot中开启事务:
@Service
@Transactional
public class UserService {
@Autowired
private UserRepository userRepository;
public void createUser(User user) {
userRepository.save(user);
}
public void updateUser(User user) {
userRepository.save(user);
}
public void deleteUser(long userId) {
userRepository.deleteById(userId);
}
}
在上面的示例中,UserService类被标记为@Service以将其声明为Spring Bean,并且使用@Transactional注解开启事务。createUser、updateUser和deleteUser方法都将在事务内执行。
需要注意的是,默认情况下,@Transactional注解只会在遇到未被捕获的异常时才会回滚事务。如果希望在遇到特定的异常时回滚事务,可以使用rollbackFor属性来指定异常类型。例如,@Transactional(rollbackFor = Exception.class)将在遇到任何类型的异常时回滚事务。
此外,还可以使用propagation属性来指定事务的传播行为,以控制事务在嵌套调用中的行为。默认情况下,事务将传播到嵌套调用中。
原文地址: https://www.cveoy.top/t/topic/i6wT 著作权归作者所有。请勿转载和采集!