了解方法调用中的 AOP 限制
您遇到了一个常见问题,即在方法的 method1 中调用 method2 时,Spring AOP 未调用。同一个班级。为了理解这背后的原因,让我们深入了解 Spring 中 AOP 的基本概念。
在 Spring 中,AOP 方面应用于围绕实际 bean 实例的代理对象。当您获得对 bean 的引用时,它不是原始类,而是实现相关接口并委托给实际类的合成代理。此代理添加了功能,包括 AOP 方面。
在您的情况下,您直接从同一类中的 method1 调用 method2,完全绕过 bean 代理。因此,为 method2 定义的 AOP 方面将不会被触发。
为了解决这个问题,您可以考虑几种替代方案:
以上是为什么AOP无法拦截同一个类内的方法调用?的详细内容。更多信息请关注PHP中文网其他相关文章!