From 2c28a1c7bcc71ae379761f7e9741a885b718bd6a Mon Sep 17 00:00:00 2001 From: linlei Date: Sun, 28 Apr 2024 17:49:13 +0800 Subject: [PATCH] =?UTF-8?q?ProxyMethodInvocation=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spring-aop-proxyMethodInvocation/README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spring-aop/spring-aop-proxyMethodInvocation/README.md b/spring-aop/spring-aop-proxyMethodInvocation/README.md index 9c6d9ad..a8d1a2c 100644 --- a/spring-aop/spring-aop-proxyMethodInvocation/README.md +++ b/spring-aop/spring-aop-proxyMethodInvocation/README.md @@ -270,6 +270,22 @@ public Object proceed() throws Throwable { } ``` +在`org.springframework.aop.framework.ReflectiveMethodInvocation#invokeJoinpoint`方法中,使用反射调用连接点。 + +```java +/** + * 使用反射调用连接点。 + * 子类可以重写此方法以使用自定义调用。 + * @return 连接点的返回值 + * @throws Throwable 如果调用连接点导致异常 + */ +@Nullable +protected Object invokeJoinpoint() throws Throwable { + // 使用反射调用连接点 + return AopUtils.invokeJoinpointUsingReflection(this.target, this.method, this.arguments); +} +``` + 在`org.springframework.aop.support.AopUtils#invokeJoinpointUsingReflection`方法中,通过反射调用目标方法,作为AOP方法调用的一部分。它接收目标对象、要调用的方法以及方法的参数作为输入,并尝试使用反射机制来调用方法。 ```java