老师关于事务的问题?
来源:2-1 店铺注册之Service层的实现
陈大可
2020-05-08 19:05:52
老师在这里是使用@Transactional来在Service层的方法添加事务,并且在方法里面经常使用RuntimeException。那么我的问题有2点:
1.前面的项目和案例使用tx命名空间声明事务与这里有什么不同?
2.为什么tx在spring.xml里配置以后在具体的业务方法里面没有使用RuntimeException?
1回答
同学你好,1、声明式事务管理配置两种方式,一种是基于注解的,比如@Transactional注解;一种是基于tx的xml配置形式,这两种方式采用哪一种实现效果都一样,具体使用要看项目的需求,所以需要知道有这两种方式就行啦。而且目前最常用的就是tx空间和注释这两种方式。
2、其实底层原理是一样的,这里使用RuntimeException其实是老师对其又处理了一下,但是原理相同-->只要执行中断就会回滚,在实际的开发中,为了更方便调试和捕获信息,通常也会这么做。这并不会应影响事务的回滚。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~