Spring中的@Transactional(rollbackFor=Exception.。。。当作⽤于类上时,该类的所有 public ⽅法将都具有该类型的事务属性,同时,我们也可以在⽅法级别使⽤该标注来覆盖类级别的定义。
在项⽬中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类⾥⾯的⽅法抛出异常,就会回滚,数据库⾥⾯的数据也会回滚。
在@Transactional注解中如果不配置rollbackFor属性,那么事物只会在遇到RuntimeException的时候才会回滚,加上
rollbackFor=Exception.class,可以让事物在遇到⾮运⾏时异常时也回滚。
springframework事务@Transactional注解的全部属性详解
@Transactional属性
属性类型描述
value String可选的限定描述符,指定使⽤的事务管理器
propagation enum: Propagation可选的事务传播⾏为设置
isolation enum: Isolation可选的事务隔离级别设置
readOnly boolean读写或只读事务,默认读写
timeout int (in seconds granularity)事务超时时间设置
rollbackFor Class对象数组,必须继承⾃Throwable导致事务回滚的异常类数组
rollbackForClassName类名数组,必须继承⾃Throwable导致事务回滚的异常类名字数组
noRollbackFor Class对象数组,必须继承⾃Throwable不会导致事务回滚的异常类数组
noRollbackForClassName类名数组,必须继承⾃Throwable不会导致事务回滚的异常类名字数组
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论