Spring 4连接点获取方法参数名称和值

前端之家收集整理的这篇文章主要介绍了Spring 4连接点获取方法参数名称和值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用的是Spring 4.3.是否可以获取传递给它的方法参数名称和值?我相信这可以使用AOP(建议之前)完成,如果可能的话,请给我一个源代码.

最佳答案
以下按预期工作(Java 8 Spring 5.0.4 AspectJ 1.8.13):

@Aspect
@Component
public class SomeAspect {

    @Around("@annotation(SomeAnnotation)")
    public Object aroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
        CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();

        System.out.println("First parameter's name: " + codeSignature.getParameterNames()[0]);
        System.out.println("First argument's value: " + joinPoint.getArgs()[0]);

        return joinPoint.proceed();
    }
}

猜你在找的Spring相关文章