我确实有一种情况,即在具有@Transactional作用域的方法上使用了package-private注释。结果表明,该事务在此方法中不工作。
有没有办法写一个红色的测试来证明这一点?如何测试是否为方法打开了事务,或者在发生异常时是否进行了回滚。我考虑过一个INT测试,但不知道如何处理。
发布于 2022-11-07 18:19:14
您不需要进行特定的测试,只需阅读文档:
当您使用带有Spring标准配置的事务性代理时,您应该只对具有公共可见性的方法应用@Transactional注释。如果使用@Transactional注释注释受保护的、私有的或包可见的方法,则不会引发错误,但带注释的方法不会显示已配置的事务设置。如果需要对非公共方法进行注释,请考虑以下段落中基于类的代理的提示,或者考虑使用AspectJ编译时或加载时编织(稍后将介绍)。
有关更多细节,请参见文档
https://stackoverflow.com/questions/74350974
复制相似问题