我希望配置文件的类型安全前端。
建议在提及的帖子中OWNER Project。这似乎是一个很好的解决方案 - 你只需要提供带注释的界面 - 其余的是框架字。
问题是该项目不支持分层配置,而且从项目站点看来它不会很快就会出现。
任何支持此项目的类似项目?
修改的 我正在寻找的东西将允许我访问如下值:
config.getHost();
而不是:
config.get("host");
答案 0 :(得分:1)
我不确定您的确切想法,但您可以使用YAML进行配置,并且可以将数据“反序列化”为您选择的数据结构。即Java对象都是安全的。请参阅Snake YAML恕我直言,YAML是分层数据最好的文本。
答案 1 :(得分:1)
您可以尝试IoC容器。例如。在guice中它将是:
class MyClass
{
@Inject @Named("host") String host;
@Inject @Named("port") int port;
}
或使用自定义注释:
class MyClass
{
@Inject @Host String host;
@Inject @Port int port;
}
答案 2 :(得分:1)
不确定这是否意味着类型安全,但commons-configuration支持多种类型的安全获取方法,如
Double double = config.getDouble("number");
List<Object> buttons = config.getList("buttons.name");
commons-configuration也支持hierarchical properties
编辑:没看到你的编辑,抱歉。 有关问题,请参阅Bozhos answer。