这是因为在Spring中创建代理来处理缓存,与事务相关的功能的方式。这是Spring如何处理它的很好参考- 事务
简而言之,自我调用会绕过动态代理,并且绕过动态代理逻辑一部分的所有交叉问题(例如缓存,事务等)也会被绕过。
解决方法是使用AspectJ编译时或加载时进行编织。

这是因为在Spring中创建代理来处理缓存,与事务相关的功能的方式。这是Spring如何处理它的很好参考- 事务
简而言之,自我调用会绕过动态代理,并且绕过动态代理逻辑一部分的所有交叉问题(例如缓存,事务等)也会被绕过。
解决方法是使用AspectJ编译时或加载时进行编织。