[英]AspectJ - Get value of annotated method parameter
我創建了自定義注釋@MyAnn
。 我將使用它來注釋方法參數。
例如: public static call(@MyAnn String name){...}
使用AspectJ,如何訪問和更新使用注釋注釋的所有參數的值?
我發現展示了如何創建切入點瞄准定制標注,一些示例代碼在這里 。
所以現在,我用切入點創建了一個方面。 但我不知道獲得MyAnn
注釋參數值的MyAnn
。
@Aspect
public class MyAnnAspect {
@Around("execution(@my.package.test.MyAnn") // I hope this pointcut will work
public void changeParameter(final ProceedingJoinPoint pjp) throws Throwable {
// How I can there get parameter value (and chage it)?
}
}
我不認為切入點工作,因為它不是通過您可以做的方式注釋的方法:
MethodSignature ms = (MethodSignature) pjp.getSignature();
Method m = ms.getMethod();
Annotation[][] pa = m.getParameterAnnotations();
現在,您可以迭代注釋,並找到正確的注釋,如果存在,則通過調用pjp.getArgs()
獲取參數值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.