声明式事务又分为两种:
TransactionDefinition 接口中定义了五个表示隔离级别的常量:也是对应着数据库的四个事务隔离级别
关于最后一个嵌套事务这里以A事务方法调B事务举个例子
这个要先说一说Exception了,Exception分为运行时异常RuntimeException和非运行时异常。事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。
@Transactional
可以标明我们的类或者方法是不是要用事务,
在@Transactional
注解中如果不配置rollbackFor
属性,那么事务只会在遇到RuntimeException
(比如NullPointerException:空指针异常)的时候才会回滚
加上rollbackFor=Exception.class
,可以让事务在遇到非运行时异常时(比如NumberFormatException:字符串转换为数字异常)也回滚。