在AOP @around 里获取方法返回值
时间: 2024-10-08 16:20:19 浏览: 84
在Spring AOP中,`@Around`通知类型允许你在增强方法执行前后执行自定义逻辑,包括访问和修改方法的返回值。当你想要在`@Around`中获取方法的返回值时,通常会在`proceed()`方法调用后,通过`ProceedingJoinPoint`接口来获取。
下面是一个简单的示例:
```java
@Around("@annotation(myAspect)")
public Object advice(ProceedingJoinPoint joinPoint) throws Throwable {
// Before method execution
System.out.println("Before method execution");
// Proceed to the actual method call and capture its return value
Object returnValue = joinPoint.proceed(); // 这里会调用目标方法并获取其返回值
// After method execution, you can access the returned value
System.out.println("Method returned: " + returnValue);
// Return the captured value or proceed with your custom logic
return returnValue;
}
```
在这个例子中,`proceed()`方法会调用目标方法(即`method`),并将该方法的返回值赋值给`returnValue`变量。你可以在这里选择直接返回`returnValue`,或者做进一步的操作再返回。
阅读全文