请介绍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)