相关疑难解决方法(0)

如何从Constant java为注释提供值

我认为这在Java中是不可能的,因为注释及其参数在编译时被解析.我有一个如下界面,

public interface FieldValues {
   String[] FIELD1 = new String[]{"value1", "value2"};
}
Run Code Online (Sandbox Code Playgroud)

和另一个班级,

@SomeAnnotation(locations = {"value1", "value2"})
public class MyClass {
   ....
}
Run Code Online (Sandbox Code Playgroud)

我用注释标记了很多类,我想知道我是否可以避免在每个注释中指定字符串而我更愿意使用

@SomeAnnotation(locations = FieldValues.FIELD1)
public class MyClass {
   ....
}
Run Code Online (Sandbox Code Playgroud)

但是这会产生编译错误,例如注释值应该是数组初始化器等.有人知道如何使用String常量或String []常量来为注释提供值吗?

java arrays annotations

134
推荐指数
5
解决办法
15万
查看次数

将动态参数传递给注释?

我使用以下注释:

@ActivationConfigProperty(
    propertyName = "connectionParameters", 
    propertyValue = "host=127.0.0.1;port=5445,host=127.0.0.1;port=6600"),
public class TestMDB implements MessageDrivenBean, MessageListener
Run Code Online (Sandbox Code Playgroud)

我想拉出每个IP地址和端口并将它们存储在一个文件中jmsendpoints.properties......然后动态加载它们.像这样的东西:

@ActivationConfigProperty(
    propertyName = "connectionParameters", 
    propertyValue = jmsEndpointsProperties.getConnectionParameters()),
public class TestMDB implements MessageDrivenBean, MessageListener
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

java annotations

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

annotations ×2

java ×2

arrays ×1