gpt4 book ai didi

java - 具有多个注释的方法的 AspectJ 切入点

转载 作者:行者123 更新时间:2023-11-30 10:59:11 26 4
gpt4 key购买 nike

使用加载时编织,纯 AspectJ。

我们有 2 个注释 @Time@Count,以及一些带注释的方法。

@Time (name="myMethod1Time")
@Count (name="myMethod1Count")
public void myMethod1(){..};

@Time (name="myMethod2Time")
public void myMethod2(){..};

@Count (name="myMethod3Count")
public void myMethod3(){..};

现在我正在为具有多个注释的 myMethod1 定义我自己的周围方面:

// multiple annotations, not working
@Around("@annotation(time) && @annotation(count))
public Object myAspect(Time time, Count count) {..}

这行不通。但是,捕获方法 myMethod2 使用单个注释可以正常工作:

// single annotation, is working
@Around("@annotation(time))
public Object myAnotherAspect(Time time) {..}

我只想捕获签名中同时带有 TimeCount 注释的方法,并且我想使用注释值。任何人都知道如何实现这一点?

最佳答案

也许可以组合 2 个切入点,例如:

@Around("call(@Time * *(..)) && call(@Count * *(..))");

关于java - 具有多个注释的方法的 AspectJ 切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31995233/

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