我在为具有多个参数的方法创建before
方面时遇到了一些麻烦。
public class Sample {
public boolean myCall(String s, String s1, String s3, ByteBuffer bytes, int i, int g) {
System.out.println("Calling real sample");
}
}
这方面不符合。我只需要在覆盖代码中使用ByteBuffer参数。
pointcut sampleCall(ByteBuffer bytes) :
execution(boolean com.example.Sample.myCall (..)) && args(bytes);
before(ByteBuffer bytes) : sampleCall(bytes) {
System.out.println("Before sample");
}
答案 0 :(得分:3)
实际上终于让它与
一起工作了pointcut sampleCall(ByteBuffer bytes) :
execution(boolean com.example.Sample.myCall(String, String, String, ByteBuffer, ..))
&& args(String, String, String, bytes, ..);
before(ByteBuffer bytes) : sampleCall(bytes) {
System.out.println("Before sample");
}