Java 参数类型的AspectJ切入点

Java 参数类型的AspectJ切入点,java,generics,annotations,aspectj,Java,Generics,Annotations,Aspectj,我有这种方法 public List<@TestAnnotation Payload> foo() { //... } 公共列表foo(){ //... } 我想创建一个切入点来更新foo()返回的每个有效负载 我已经测试了以下内容,但它不起作用(没有截获foo()方法): @Around(“执行(java.util.List*(..)”) 公共对象执行(ProceedingJoinPoint point)抛出可丢弃{ //... 返回点。继续(); } 我的第一种方法是检

我有这种方法

public List<@TestAnnotation Payload> foo() {
   //...
}
公共列表foo(){
//...
}
我想创建一个切入点来更新foo()返回的每个有效负载

我已经测试了以下内容,但它不起作用(没有截获foo()方法):

@Around(“执行(java.util.List*(..)”)
公共对象执行(ProceedingJoinPoint point)抛出可丢弃{
//...
返回点。继续();
}

我的第一种方法是检查括号周围的内容(“execution(java.util.List*(..)”)。如果您的execute方法不工作,并且没有抛出异常,那么您的包/方法定义中存在问题。谢谢fiskra。但是当我告诉“它不起作用”时,我想告诉大家,方法foo()并没有被通知截获,尽管它遵循了良好的模式。对不起,我的第一种方法是在括号内检查
@around(“execution(java.util.List*(…)”)
。如果您的execute方法不工作,并且没有抛出异常,那么您的包/方法定义中存在问题。谢谢fiskra。但是当我告诉“它不起作用”时,我想告诉大家,方法foo()并没有被通知截获,尽管它遵循了良好的模式。对不起,弄错了。
@Around("execution(java.util.List<@com.ote.TestAnnotation *> * (..)))")
public Object execute(ProceedingJoinPoint point) throws Throwable {
   //...
   return point.proceed();
}