gpt4 book ai didi

java - 具有特定注释的参数的方法的 AspectJ 切入点

转载 作者:行者123 更新时间:2023-12-02 04:05:45 27 4
gpt4 key购买 nike

例如我有以下方法:

public void method1(@MyAnnotation Object a, Object b..) {
...
}

public void method1(Object a, Object b..., @MyAnnotation Object n, ...) {
...
}

什么是仅针对参数用 @MyAnnotation 注释的方法的 AspectJ 切入点?

此注释可以应用于该方法的任何参数。

最佳答案

以下切入点应与您问题中方法的执行相匹配。我还提供了第二个切入点,它只是第一个切入点的轻微修改,但如果您需要匹配用注释注释的特定类型,您可能会发现它很有用。

public aspect AnnotatedMethodParameterMatchingAspect  {

/**
* Matches the execution of any method having a parameter annotated with the
* {@link MyAnnotation} annotation.
*/
pointcut executionOfMethodWithAnnotatedParameter():
execution(* *(.., @MyAnnotation (*), ..));

/**
* Matches the execution of any method having a parameter annotated with the
* {@link MyAnnotation} annotation where the parameter type is a {@link MyType}
* (or a subtype).
*/
pointcut executionOfMethodWithAnnotatedTypeRestrictedParameter():
execution(* *(.., @MyAnnotation (MyType+), ..));

}

关于java - 具有特定注释的参数的方法的 AspectJ 切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34291666/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com