任何人都可以解释该声明的确切含义吗?为什么将一层包裹成一层。
匹配者是:
ElementMatchers.declaresMethod(ElementMatchers
.isAnnotatedWith(ElementMatchers.named("com.agent.tool.Trace")))
适用于此代码:
package com.agent.tool
@Target({ElementType.METHOD,ElementType.TYPE,ElementType.PACKAGE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Trace {
String[] argumentName() default {};
}
我可以这样写
ElementMatchers.declaresMethod("com.agent.tool.Trace")
或
ElementMatchers.declaresMethod((ElementMatchers
.isAnnotatedWith("com.agent.tool.Trace"))
答案 0 :(得分:0)
通常可以嵌套Byte Buddy元素匹配器,以通过组合多个注释来匹配甚至复杂的条件。如果要匹配用特定名称的注释注释的任何方法,则需要一个附加的匹配器named
:
declaresMethod(isAnnotatedWith(named("com.agent.tool.Trace")))