直接上代码
@Around("LogAspect()")
public Object deAround(ProceedingJoinPoint joinPoint) throws Throwable {
//获取目标对象方法参数
Object[] args = joinPoint.getArgs();
//遍历参数 修改带有需求字段对象的值
for (Object obj : args) {
try{
System.out.println(obj .toString());
Class<?> resultClz = obj .getClass();
//获取class里的所有字段 父类字段获取不到
Field[] fieldInfo = resultClz.getDeclaredFields();
for (Field field : fieldInfo) {
if("参数名".equals(field.getName())){
//成员变量为private,故必须进行此操做
field.setAccessible(true);
//修改前的值
Object fieldValue = field.get(obj);
//修改后的值
Integer afterValue = 100;
if(afterValue!=null){
field.set(obj, afterValue);
}
break;
}
}
}catch (Exception e) {
}
}
return joinPoint.proceed(args);
}