首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何控制同一包上两个切入点的执行顺序

如何控制同一包上两个切入点的执行顺序
EN

Stack Overflow用户
提问于 2013-02-27 17:58:53
回答 1查看 789关注 0票数 1

我有一种情况,有一个通用的切入点和其他几个特定的切入点。我想要的是通用的应该首先执行,然后只有特定的应该执行。

通用切点是说,

代码语言:javascript
复制
  @Before("execution(public * com.java.*.data(..))") 

特定点切割数1

代码语言:javascript
复制
  @Before("execution(public * com.java.science.*.data(..))") 

特定点切割数2

代码语言:javascript
复制
  @Before("execution(public * com.java.history.*.data(..))") 

特定点切割数3

代码语言:javascript
复制
  @Before("execution(public * com.java.geography.*.data(..))")

一般点切割应该先执行,然后再执行特定的点切割。我能控制它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 18:06:04

您可以在@Aspect-annotated类上使用@Order( value = ... )设置优先级:

代码语言:javascript
复制
@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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15109101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档