我们的应用程序使用 reference.conf 为我们的 POJO 之一提供默认值,该 POJO 带有配置信息。假设 Pojo 是:
class Person {
String first;
String last;
// corresponding setters / getters not shown
}
reference.conf 具有默认值:
Person {
first: "joe"
last: "shmoe"
}
因此,如果您的 application.conf 有:
Person {
first: "mike"
}
因此,当你这样做时:
public static Person getInstance(Config config) {
return ConfigBeanFactory.create(config.getConfig("Person"), Person.class);
}
你会用 first/last == mike/shmoe 找回一个 Person
现在..说我有一些用户没有得到足够的睡眠,其中一个人像这样错误地配置了他们的应用程序(拼写错误“first”):
Person {
frist: "mike"
}
我现在做事的方式是从此配置加载的 Pojo 具有默认的 first/last == joe/shmoe。没有关于拼写错误(“frist”)的警告。
我可以编写代码来反映我的 Bean 类,并查看用户提供的哪些属性与可用的设置器不对应,然后在发现任何“错误”属性时引发错误。
但似乎有人(甚至可能是 Typesafe 配置基础库)必须已经拥有此功能。
任何指向一个好的现有方法的指针都非常感谢。