gpt4 book ai didi

java - 检测方法执行链中的任何方法是否使用特定注释进行注释

转载 作者:行者123 更新时间:2023-12-02 10:47:56 26 4
gpt4 key购买 nike

我想注释一些方法,然后在执行链的更深处能够检查沿途是否有任何方法标记有注释?

不确定注释是否能够做到这一点?我正在使用 Spring,所以也许 AOP 可以提供帮助,或者也许 AST 转换(我正在使用 groovy)。什么是最简单的...

我的用例是用自定义注释标记一些方法,例如@UseReplicaIfAvailable 然后在服务层中,当我执行 sql 调用时,我可以决定是否可以使用副本数据库(我不关心数据的新鲜度)...

我只是想避免通过每个方法调用传递某种 boolean 值。

最佳答案

也许你可以这样做:

@Aspect
@Component
public class EmployeeAspect {

private bolean wasExecuted = false;

@Before("@annotation(com.annotation.YourAnnotanion)") // or @After
public void secExecution(){
this.wasExecuted = true;
}

//getter, setter
}

这就是我想到的,另外你必须在执行链完成后将后退标志重置为假值(你可以通过链接这个bean作用域等来做到这一点)。祝你好运。

关于java - 检测方法执行链中的任何方法是否使用特定注释进行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52405960/

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