我正在尝试学习 Java 中的动态代理。
我知道它们是如何工作的,但我找不到解决我的问题的方法:给定一个接口及其实现方法 a()、b() 和 c() 嵌套在另一个中(假设 a() 调用 b( ) 调用 c()),我想代理我的对象来记录对方法的每次调用。
所以我对我的 InvocationHandler 进行了编码,例如 invoke() 方法在执行之前打印了一条日志行。
但是当我调用 proxy.a() 时,只记录了方法 a() 的调用,而不是整个方法链。
我错过了什么?代理的目标是否必须是代理本身?