gpt4 book ai didi

java - AspectJ - 接口(interface)实现方法的切入点

转载 作者:搜寻专家 更新时间:2023-10-31 19:59:47 25 4
gpt4 key购买 nike

我有几个 SomeInterface 的实现。问题是在 SomeInterface 的所有实现中方法 executeSomething 的切入点是什么。

public class SomeImplementation implements SomeInterface {

public String executeSomething(String parameter) {
// Do something
}

}

public class AnotherImplementation implements SomeInterface {

public String executeSomething(String parameter) {
// Do something different way
}

}

最佳答案

该方法的切入点可以是方法执行切入点或方法调用切入点。满足您要求的最具体的切入点如下所示:

execution(public String SomeInterface+.executeSomething(String))
call(public String SomeInterface+.executeSomething(String))

对这些切入点类型的一些解释:

  • 这两个切入点中使用的类型模式意味着:返回 String 的所有公共(public)方法在 SomeInterface 或其任何子类型中定义,被命名为 executeSomething 并接受单个 String 参数。这是可以为您的案例定义的最具体的类型模式,它将仅匹配 String SomeInterface.executeSomething(String) 方法的实现。
  • 执行类型切入点匹配与执行特定方法体时对应的连接点
  • 调用类型切入点匹配与调用特定方法时对应的连接点(即连接点位于调用方)

执行类型的切入点被更频繁地使用,但调用类型的切入点在某些情况下也非常有用。

参见 The AspectJ Language/Join Points and Pointcuts中的章节 AspectJ Programming Guide以供进一步引用。

关于java - AspectJ - 接口(interface)实现方法的切入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47967180/

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