gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 02:59:52 26 4
gpt4 key购买 nike

我有多个来自不同包的类扩展了一个类 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+.*(..))

关于java - 如何为扩展特定类的所有类指定单个切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com