切面中获取方法的入参
时间: 2024-10-08 18:20:41 浏览: 22
在Spring Boot中,要获取方法的入参并在执行前进行记录,你可以使用`@Before`注解并结合`ProceedingJoinPoint`接口的方法。以下是如何在`logMethodInput`方法中实现这一功能:
```java
@Around("@annotation(logMethodInput)")
public Object logMethodInput(ProceedingJoinPoint joinPoint, LogMethodInput logMethodInput) throws Throwable {
// 获取方法参数
Object[] args = joinPoint.getArgs();
// 打印入参日志
System.out.println("Method execution starting with input parameters:");
for (int i = 0; i < args.length; i++) {
System.out.println("Parameter " + (i+1) + ": " + args[i]);
}
// 调用原方法并存储结果
Object result = joinPoint.proceed();
// 其他操作...
return result;
}
```
这里,`getArgs()`方法从`ProceedingJoinPoint`返回方法的参数数组。然后你可以遍历这些参数并打印它们。
阅读全文