切面ProceedingJoinPoint 获取当前执行类 执行方法,执行方法中的入参对象,入参对象的参数

Posted 嘿;-)翔�

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了切面ProceedingJoinPoint 获取当前执行类 执行方法,执行方法中的入参对象,入参对象的参数相关的知识,希望对你有一定的参考价值。

String typeName = point.getSignature().getDeclaringTypeName() 获取当前执行类
String name = point.getSignature().getName() 获取当前执行类中的执行方法
Object[] object = point.getArgs() 获取当前执行方法中的执行参数

获取当前执行方法中的入参对象

Method targetMethod = ((MethodSignature) (point.getSignature())).getMethod();
        Class<?>[] parameterTypes = targetMethod.getParameterTypes();//只有转变为集合才能get[0]
        List<Class<?>> collect = Arrays.stream(parameterTypes).collect(Collectors.toList());
        Class<?> aClass1 = collect.get(0);//执行方法的入参对象
        //注意⚠️这个时候再次的点class 获取到的就是java.lang.class 了 所以如果想要操作aclass1 就不能点class了直接获取对应的属性即可,然后进行后续的操作

执行目标方法 Object response = point.proceed()

Class<?> aClass1 = collect.get(0) 当前执行的参数类对象
此时不能再次点class,获取到的就是java.lang.class,所以如果有后续操作 不可再次点class

以上是关于切面ProceedingJoinPoint 获取当前执行类 执行方法,执行方法中的入参对象,入参对象的参数的主要内容,如果未能解决你的问题,请参考以下文章

切面ProceedingJoinPoint 获取当前执行类 执行方法,执行方法中的入参对象,入参对象的参数

ProceedingJoinPoint获取当前方法

3.24 切面发布-环绕通知

Springboot通过切面校验参数完整性

切面编程

AOP案例 异常类切面