Aspectj 默认构造函数切入点

Aspectj default constructor pointcut

我正在处理一些 AspectJ 代码,我想捕获 none 私有切入点的所有执行。

@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 中找不到默认 class 修饰符的修饰符名称,是我错过了它还是我需要尝试使用 !没有以某种方式登录?

问候正在学习 aspectJ 的新开发者

试试这个来捕获所有非私有方法。

@Pointcut("execution(!private * *(..))")