为什么 pointcut.matches(String.class) 返回“true”
我是 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包中。 但实际上它给了我“真实”, 我犯了什么错误?
版本:spring 3.0
提前致谢。
I am new to spring AOP and I write a small test
of aspectJ AOP pointcut,
public void test1() {
AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
pointcut.setExpression("execution(public * java.util.*.*(..))");
System.out.println(pointcut.matches(String.class)) ;
}
I expect it will print out "false", because String.class is not include in java.util package.
but actually it gives me the "true",
What mistake I made?
version: spring 3.0
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此切入点正在从
java.util
包和子包中查找方法的执行,其中String
类中有多个。例如String.replaceFirst(String, String)
如下所示(我插入的注释):所以匹配是正确的。
This pointcut is looking for executions of methods from the
java.util
package and sub-packages, of which there are several in theString
class. e.g. the source ofString.replaceFirst(String, String)
looks as follows (comments inserted by me):So the match is correct.