我有一种情况,有一个通用的切入点和其他几个特定的切入点。我想要的是通用的应该首先执行,然后只有特定的应该执行。
通用切点是说,
@Before("execution(public * com.java.*.data(..))") 特定点切割数1
@Before("execution(public * com.java.science.*.data(..))") 特定点切割数2
@Before("execution(public * com.java.history.*.data(..))") 特定点切割数3
@Before("execution(public * com.java.geography.*.data(..))")一般点切割应该先执行,然后再执行特定的点切割。我能控制它吗?
发布于 2013-02-27 18:06:04
您可以在@Aspect-annotated类上使用@Order( value = ... )设置优先级:
@Aspect
@Order( value=0 )
public class MyFirstPointcut
{
@Before("execution(public * com.java.*.data(..))")
public void something(...) { ... }
}
@Aspect
@Order( value=1 )
public class MySecondPointcut
{
@Before("execution(public * com.java.science.*.data(..))")
public void somethingElse(...) { ... }
}
...etchttps://stackoverflow.com/questions/15109101
复制相似问题