前言:
使用注解可以为方法参数添加额外的元数据和限制条件。在某些情况下,我们可能需要获取使用了某个特定注解的方法的参数,以进行后续的处理或判断。
@Around("execution(* ..edit(..))")
public Object view(ProceedingJoinPoint point) throws Throwable {
Object[] args = point.getArgs();
Map<String, Object> param = getParam(point);
解析参数成map的方法。方便根据方法参数进行逻辑处理。
Map<String, Object> getParam(ProceedingJoinPoint joinPoint) {
Map<String, Object> param = new HashMap<>();
Object[] paramValues = joinPoint.getArgs();
String[] paramNames = ((CodeSignature)joinPoint.getSignature()).getParameterNames();
for (int i = 0; i < paramNames.length; i++) {
param.put(paramNames[i], paramValues[i]);
}
return param;
}
总结:
获取使用了某个注解的方法参数可以通过反射的方式实现。我们可以使用Java的反射机制来获取方法参数的注解信息,并对其进行相应的处理。通过获取方法的参数列表,我们可以遍历每个参数,然后使用getAnnotation()方法来获取指定注解的实例。然后,我们可以根据注解的属性或方法来判断参数是否符合我们的要求,或者对参数进行进一步的操作。