首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring @AspectJ @Pointcut匹配而不考虑参数列表

Spring @AspectJ @Pointcut匹配而不考虑参数列表
EN

Stack Overflow用户
提问于 2013-07-22 13:25:13
回答 1查看 559关注 0票数 0

如何编写与类中所有公共方法匹配的Spring @AspectJ点剪切(@Pointcut)表达式,而不管它们的参数列表如何?

我想要一个方面,为具有特定注释的特定类的所有公共方法,@MyAnnotation (类似于其他人在a previous SO question中所想要的类似)提供一个切点。目前我的方面是这样的:

代码语言:javascript
复制
 @Aspect
 public final class ServiceDataAccessExceptionReporter {

    @Pointcut("execution(public * com.example.Service.*(..)) && @annotation(com.example.MyAnnotation))")
    public void annotatedMethod() {}

    @AfterThrowing(pointcut = "annotatedMethod()", throwing = "exception")
    public void reportException(final DataAccessException exception) {
       ...
    }
 }

Eclipse插件(在源代码窗口中使用箭头注释)指出这是正确的建议方法com.example.Service.getNames()。但它并不表示有参数的方法(如com.example.Service.getTimes(String name) )得到了建议。

这是因为带有@Pointcut注释的方法没有参数吗?我如何才能使切分成为所有的方法,而不管它们的论证列表是什么?或者,对于我的@Pointcut类中的每种参数列表,我必须有一个单独的com.example.Service

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-23 17:32:03

测试产生的WAR结果表明,这个方面实际上是有效的,并且我想要成为点削减的服务类的所有方法都是点削减。

我的结论是,这实际上是Eclipse插件中的一个缺陷:当一个@Pointcut匹配多个位置时,它不会显示所有连接点,而是只显示一个连接点,这是它任意选择的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17788803

复制
相关文章

相似问题

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