是否有可能获得一个java属性文件的常量形式?我试图开发我的应用程序,以便我可以在主属性文件中设置一个标志,该标志指示应用程序是使用开发配置文件还是生产文件。从属性文件中获取常量?
大多数应用程序都可以正常工作,但我在实体类中使用数据库表映射命中了一块砖墙。我使用迪纳摩DB所以实际的类本身需要一个注解如下:
@DynamoDBTable(tableName = "table_name")
public class EmailTemplates {
...
表名值必须是一个常数,我试图使用以下方法来检索值从属性文件并把它传递到tableName;
@DynamoDBTable(tableName = DynamoTable.TABLE_NAME)
public class EmailTemplates {
...
的DynamoTable类:
public final class DynamoTable {
public static final String TABLE_NAME = ResourceBundle.getBundle(ResourceBundle.getBundle("ProjectStage").getString("ProjectStage")).getString("EmailTemplates");
}
遗憾的是它不工作作为它说的值不是一个常数。如果我只是简单地放置一个文字字符串(即“aStringValue”),那么它很好,但不是来自属性文件。
注意:只需要清楚,上述代码从属性文件中检索值是没有问题的。问题在于它不被视为一个常量。
定义: “不工作” – Jeffrey
@Jeffrey对不起,我已经将问题添加到帖子末尾。 – tarka
你说你需要为生产和开发定义不同的属性文件。我不知道为什么你需要使表名变量,没有一个单独的生产数据库和开发数据库,你不能改变连接字符串而不是改变表名? –