1

一般的なポイントカットと他のいくつかの特定のポイントカットがある状況があります。私が望むのは、ジェネリックが最初に実行され、次に特定のものだけが実行されることだけです。

一般的なポイントカットと言えば、

  @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(..))")

一般的なポイント カットを最初に実行し、次に特定のポイント カットを実行する必要があります。それを制御できますか?

4

1 に答える 1

1

-annotated クラスで を使用@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
于 2013-02-27T10:06:03.560 に答える