我正在使用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 4连接点获取方法参数名称和值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44635757/

10-11 07:04