gpt4 book ai didi

java - 有没有办法为带注释的字段编写 getter 的切入点?

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:33 25 4
gpt4 key购买 nike

我正在尝试编写一个切入点,它将拦截带注释的成员的 getter。

public class MyClass {

private String volume;

@MyAttribute
private Validity validity;


public void setValidity( Validity obj ){
validity = obj;
}

public Validity getValidity(){
return validity;
}
}

有没有办法编写一个切入点,根据使用 @MyAttribute 注释的 validity 来拦截对 getValidity() 的所有调用?换句话说,我希望为用 @MyAttribute 注释的成员字段的任何 getter 创建切入点。

一个简单的 getter 切入点可以建议任何 getter 方法:

pointcut embeddedGetter() : execution( public * com.ia.domain..get*());

但这不会指定它所获取的字段必须被注释。如果我在 public 前面放置一个修饰符,它将指定必须对 getter 方法进行注释,但事实并非如此。

这可行吗?

最佳答案

在使用 AspectJ 后,我终于重新发现了我正在寻找的连接点:

pointcut embeddedGetter() : get( @MyAnnotation Validity *..* );

关键是不要使用execution切入点,而是使用get

关于java - 有没有办法为带注释的字段编写 getter 的切入点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622434/

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