首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为@Pointcut设置表达式

为@Pointcut设置表达式
EN

Stack Overflow用户
提问于 2018-06-20 20:38:00
回答 1查看 79关注 0票数 0

我想为类设置注解,当我调用对象的任何方法时,这个类在执行方法之前先执行拦截器。

代码语言:javascript
复制
@MyAnn
public class SomeClass {

    public void someMethod1() {}
    public void someMethod2() {}
}

@Aspect
public class SomeInterceptor {

    @Pointcut("execution(@my.package.aop.MyAnn* *.*(..))")
    public void checkMethod() {}

    @Around("checkMethod()")
    public Object method(ProceedingJoinPoint joinPoint) throws Throwable {

    }
}

应该在@Pointcut(...)中设置什么表达式我的类的所有方法都在执行之前处理了拦截器吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-21 21:15:11

找到了解决方案

代码语言:javascript
复制
@Pointcut("execution(public * *(..))")
private void anyPublicOperation() {}

@Pointcut("within(@my.package.aop.MyAnn *)")
private void withinMyAnn() {}

@Pointcut("anyPublicOperation() && withinMyAnn()")
public void checkMethod() {}

如果有更成功的解决方案,我将很高兴在评论中看到

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

https://stackoverflow.com/questions/50948470

复制
相关文章

相似问题

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