Spring中如何高效运用Transactional注解实现事务管理?
- 内容介绍
- 相关推荐
本文共计755个文字,预计阅读时间需要4分钟。
事务特性+@Transactional注解用于事务控制,需要了解事务的ACID特性:即时性(Atomicity,不可分割性)、一致性(Consistency)、隔离性(Isolation,也称独立性)、持久性(Durability)。
事务特性
@Transactional注解是用于事务控制的,需要知道事务的ACID特征:即原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
事务是用来控制数据的ACID特性的,用于保证数据的正确性和完整性。
@Transactional注解有两种使用方式:
(1)标注在类上面:当作用于类上时,该类的所有public方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。
(2)标注在方法上面:当作用于方法上时,只有当该方法发生了异常才会进行回滚,其他的方法不受影响。
在项目中使用,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚。
本文共计755个文字,预计阅读时间需要4分钟。
事务特性+@Transactional注解用于事务控制,需要了解事务的ACID特性:即时性(Atomicity,不可分割性)、一致性(Consistency)、隔离性(Isolation,也称独立性)、持久性(Durability)。
事务特性
@Transactional注解是用于事务控制的,需要知道事务的ACID特征:即原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
事务是用来控制数据的ACID特性的,用于保证数据的正确性和完整性。
@Transactional注解有两种使用方式:
(1)标注在类上面:当作用于类上时,该类的所有public方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。
(2)标注在方法上面:当作用于方法上时,只有当该方法发生了异常才会进行回滚,其他的方法不受影响。
在项目中使用,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚。在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上rollbackFor=Exception.class,可以让事物在遇到非运行时异常时也回滚。

