2

我是spring AOP的新手,我写了一个aspectJ AOP切入点的小测试,

public void test1() {

    AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
    pointcut.setExpression("execution(public * java.util.*.*(..))");

    System.out.println(pointcut.matches(String.class)) ;
}

我希望它会打印出“false”,因为 String.class 不包含在 java.util 包中。但实际上它给了我“真实”,我犯了什么错误?

版本:春季3.0

提前致谢。

4

1 回答 1

2

这个切入点是从包和子包中寻找方法的执行,其中类中有几个。例如外观的来源如下(我插入的评论):java.utilStringString.replaceFirst(String, String)

public String replaceFirst(String regex, String replacement) {
return 
        /* java.util.regex.Pattern */ Pattern.compile(regex).matcher(this)
        /* java.util.regex.Matcher */ .replaceFirst(replacement);
}

所以匹配是正确的。

于 2010-12-17T08:29:54.587 回答