Aspectj默认构造函数切入点

时间:2015-08-04 11:36:36

标签: java annotations aop aspectj pointcut

我正在使用一些AspectJ代码,我想捕获所有没有私有切入点的执行。

@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的新开发

1 个答案:

答案 0 :(得分:2)

尝试此操作以捕获所有非私有方法。

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