我正在处理一些 AspectJ 代码,我想捕获所有非私有(private)切入点的执行。
@Pointcut("execution(public * *(..))")//Public
public void publicMethod(){};
@Pointcut("execution(protected * *(..))"//Protected
public void protectedMethod(){}
@Pointcut("@annotation(mypackage.name.annotationName")
public void annotationPointcut(){}
@Around("annotationPointcut() && (protectedMethod() || publicMethod())")
public Object test(){ System.out.println("Should not print private"); }
我读过有关使用 ! (不是)但无法让它工作。 有点像
@Pointcut("!execution(private * *(..))"
但是没有让它工作。
我在 aspectJ 中找不到默认类修饰符的修饰符名称,是我错过了它还是我需要尝试使用 !不以某种方式登录?
问候正在学习 aspectJ 的新开发者
最佳答案
试试这个来捕获所有非私有(private)方法。
@Pointcut("execution(!private * *(..))")
关于java - Aspectj 默认构造函数切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31808264/