编程式事务管理(通过代码实现,不常用)

声明式事务管理(可以配置在XML中或用注解@Transactional)

声明式事务管理建立在AOP之上,其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,执行完目标方法之后根据执行的情况提交或者回滚。

@Transactional(rollbackFor=Exception.class) 需要指定回滚的异常,因为默认的是RuntimeException