spring中@Transactional注解面试问到的问题
1: @Transactional里面的参数有哪些?
只记得有设置哪些异常进行回滚的参数,其实我以前还用过一个设置超时的,太久了忘记了
这篇文章写得毕竟详细:https://blog.csdn.net/weixin_45496075/article/details/109618244
2:@Transactional回滚的是怎么实现的?是在数据库还是在程序里进行回滚的?
这两个应该说是一个问题,在系统调用声明@Transactional的目标方法的时候,spring会开启一个拦截器TransactionInterceptor 来进行拦截,
会在目标方法开始执行之前创建并加入事务,然后再执行目标方法的逻辑,当逻辑里面抛异常的时候统一进行回滚事务,如果一切正常的话就提交事务。
这篇文章详细介绍了@Transactional相关的事务以及注意事项: https://blog.csdn.net/qq_39213969/article/details/105532264