ProceedingJoinPoint获得方法名称
时间: 2023-11-09 13:56:02 浏览: 67
根据引用和引用中的信息,可以得知ProceedingJoinPoint继承自JoinPoint,并且暴露了proceed方法。proceed方法是AOP代理链执行的方法。所以,通过ProceedingJoinPoint可以获取方法的名称。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *2* *3* [SpringAOP中的JointPoint和ProceedingJoinPoint使用详解](https://blog.csdn.net/qq_58772217/article/details/125678752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]
相关问题
java ProceedingJoinPoint获取方法名称
Java中,可以使用ProceedingJoinPoint对象来获取方法的名称。下面是一个示例代码:
```java
import org.aspectj.lang.ProceedingJoinPoint;
public class MyClass {
public void myMethod() {
// 获取方法名称
String methodName = getMethodName();
System.out.println("Method name: " + methodName);
}
public String getMethodName() {
// 获取ProceedingJoinPoint对象
ProceedingJoinPoint proceedingJoinPoint = getProceedingJoinPoint();
// 获取方法名称
String methodName = proceedingJoinPoint.getSignature().getName();
return methodName;
}
public ProceedingJoinPoint getProceedingJoinPoint() {
// 这里是模拟获取ProceedingJoinPoint对象的方法
// 实际使用时,需要根据具体的场景获取ProceedingJoinPoint对象
return null;
}
}
```
在上面的示例中,我们定义了一个`MyClass`类,其中包含了一个`myMethod`方法和一个`getMethodName`方法。在`getMethodName`方法中,我们通过`getProceedingJoinPoint`方法获取了`ProceedingJoinPoint`对象,并使用`proceedingJoinPoint.getSignature().getName()`来获取方法的名称。
ProceedingJoinPoint 读取方法参数
ProceedingJoinPoint是Spring AOP中的一个接口,可以用于获取目标方法的参数、方法名、返回值等信息。通过它可以获取到方法的参数,可通过以下代码示例:
```java
@Around("execution(* com.example.demo.service.MyService.*(..))")
public Object aroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
// 获取方法参数
Object[] args = joinPoint.getArgs();
// 具体操作省略...
return joinPoint.proceed();
}
```
在上述代码中,我们首先使用@Around注解将一个方法作为切面加入到了我们的Service中。然后通过ProceedingJoinPoint接口的getArgs()方法获取了进入该方法的参数,最后调用proceed()方法执行目标方法。