我的情况是存在通用切入点和其他几个特定切入点。 我想要的只是通用应该首先执行,然后才应该执行特定的。
通用点切割是,
@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(..))")
Genric point cut应该首先执行,然后执行特定的。我可以控制它吗?
答案 0 :(得分:1)
您可以使用@Order( value = ... )
带注释的类@Aspect
设置优先级:
@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(...) { ... }
}
...etc