直接调用有@transactional标注的方法 抛出异常 回滚了事物

间接调用有@transactional标注方法 发现数据库操作成功 没有回滚


有事物的调用有事物的情况下 事物回滚了



标志有事物的方法 去调用没有注解标注的 但是有操作数据库的 最后事物没有作用到内部调用方法 还是操作数据成功了


注解@transactional事物方法调用有@transactional注解标注的方法 最后事物起效果了


通过设置一些事物传播机制为required 可以将上层的事物在下层未标注的方法中 其效果


结论:查看报错异常信息 发现 有个TransactionTest1$$FastClassBySpringCGLIB$$f57d5c3f.invoke字样 说明这个spring底层还是用代理实现的 具体原理 后续分解
文章转载自辉哥的菜,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




