请介绍Spring申明式事务?

Spring声明式事务:

声明式事务--是在使用Spring对数据进行操作时必须掌握的技术。

声明式事务--是在执行方法时,自动开启或关闭事务的技术,其原理是利用AOP(面向切面编程的技术)实现,使用AOP“通知”功能实现,自动提交、自动回滚。

(与声明式事务,对应的有一种,编程式事务,是使用代码手动开启或关闭事务)

执行规则:进入方法时自动打开事务,执行成功则提交,出现“运行时异常”则进行回滚。

开启“声明式事务”有两种方式:

  • 1,在xml配置文件中进行配置

  • 2,使用@Transactional注解

回答面试官:

当进入方法时自动打开事务,执行成功则提交,出现“运行时异常”则进行回滚。(添加@Transaction注解生效)

常用示例

 @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)

异常级别提升到Exception.class 意味着Exception级别的异常会回滚事务


如上所示不启用事务

@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)