【spring】Spring事务管理和@Transactional注解
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class SomeService {
private SomeRepository someRepository;
public SomeService(SomeRepository someRepository) {
this.someRepository = someRepository;
}
@Transactional
public void someTransactionalMethod() {
// 执行一些数据库操作
someRepository.doSomething();
// 如果这里发生异常,则整个方法的数据库操作会回滚
// 可以通过抛出异常来测试回滚
// 如果没有异常,则操作会被提交
}
}
@Repository
public interface SomeRepository {
void doSomething();
}
在这个例子中,SomeService
类中的 someTransactionalMethod
方法被标记为 @Transactional
。当这个方法被调用时,Spring会开始一个新的事务。如果方法内部发生异常,Spring将会回滚这个事务,即撤销方法内部执行的所有数据库操作。这是一个简单的例子,展示了如何在Spring中使用注解来管理事务。
评论已关闭