如何为扩展特定类的所有类指定单个切入点切入点、何为

由网友(烟酒成瘾)分享简介:我有来自不同包的多个类,它们扩展了一个类Super。我想创建一个AOP切入点,它与扩展Super的所有类中的所有方法相匹配。我已经尝试过了:@Around("within(com.mypackage.that.contains.super..*)")public void aroundAllEndPoints(P...

我有来自不同包的多个类,它们扩展了一个类Super。 我想创建一个AOP切入点,它与扩展Super的所有类中的所有方法相匹配。 我已经尝试过了:

@Around("within(com.mypackage.that.contains.super..*)")
public void aroundAllEndPoints(ProceedingJoinPoint joinPoint) throws Throwable {
        LOGGER.info("before Proceed ");
        joinPoint.proceed();
        LOGGER.info("after Proceed");
}

但它不起作用。 有什么建议吗?

推荐答案

去日本打工 特定技能和技能实习签证,您选择哪个

切入点应为:

within(com.mypackage.Super+)

其中com.mypackage.Super是完全限定的基类名称,+表示"所有子类"。这适用于Spring AOP。在AspectJ中,这将匹配太多连接点,而不仅仅是方法执行。下面是另一个同时适用于Spring AOP和AspectJ的切入点:

execution(* com.mypackage.Super+.*(..))
阅读全文

相关推荐

最新文章