想象一下,在我正在开发的应用程序中,需要对每个应用程序进行排序 返回的对象,来自具有这些特征的任何方法:
我想创建一个名为SortingAspect的Aspect,其中包含:
在这种情况下,我来到了这段代码:
MyClass的:
public class MyClass {
@Sorted
public List<Integer> myFunction(){
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(20);
list.add(3);
list.add(-4);
list.add(5);
list.add(200);
list.add(34);
return list;
}
}
排序。
public @interface Sorted {
}
SortedAspect:
@Aspect
public class SortingAspect {
@Pointcut ("call(* my.sorted..* (..)) && @annotation(Sorted)")
public void sortFuncPointCut() {}
@Around("sortFuncPointCut()")
public List<Integer> sortAdvice(ProceedingJoinPoint pjp) throws Throwable {
List<Integer> list = (List<Integer>)pjp.proceed();
Collections.sort(list);
return list;
}
}
问题: 问题是@Around没有捕获任何Poincut,我无法理解为什么。