我想将值传递给注释。例:
@Feature(someVaribleName)
如果
someVaribleName
是final
,则表示一切正常。所以这工作正常:private final String someVaribleName = "test";
@Feature(someVaribleName)
public void testMethod()
{
}
但是我想传递其他信息,这些信息只会在运行时知道,因此无法更改
someVaribleName
。有什么方法可以将运行时值传递给Java中的注释?
最佳答案
做到这一点的唯一方法是通过代码注入,例如使用Instrumentation。
然而,一种更简单的解决方案是使框架使用注释支持反射,例如
@Feature("someVaribleName")
框架将从对象中获取您指定的
someVaribleName
变量。或者你可以调用一个方法
@Feature("getSomeName")
并且框架需要调用您配置的方法,即
getSomeName