我不知道这是否可行,但我正在尝试编写一个切入点,它可以匹配任何返回实现特定接口(interface)的对象的方法。
鉴于以下情况:
public class User implements Auditable{
private int id;
private String name;
public String getName(){
return name;
}
}
和可审计的接口(interface):
public interface Auditable{
public String getName();
}
还有一些随机类:
public class RandomClass{
public User getNewUser(){
User u = new User();
return u;
}
}
我如何编写一个“AfterReturning”切入点来捕获任何实现 Auditable 的名为 getNew* 的方法?
以下作品:
pointcut auditablePointcut(): call(public * *.getNew*(..))
然而,这将匹配任何返回类型。以下不起作用:
pointcut auditablePointcut(): call(public Auditable *.getNew*(..))
我想我可以使用 if() 来编写它,但这似乎有点笨拙(我还没有尝试过)。还是有更优雅的方式?
最佳答案
after () returning (Audible au) : call(public * *.getNew*(..))
关于java - 如何编写正确的切入点来匹配接口(interface)返回对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20293117/