我们的应用程序正在使用一个reference.conf来为我们的一个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);
}
你就会得到一个名字为firstlast == mikeshmoe的人。
现在...说我有一些用户没有得到足够的睡眠,其中一个用户这样错误地配置了他们的应用程序(拼错了 "first").我现在的做法是,从这个配置中加载的Pojo默认firstlast==joeshmoe.没有任何关于拼错的警告("frist")。
Person {
frist: "mike"
}
我现在的做法是,从这个配置中加载的Pojo默认firstlast == joeshmoe.没有任何关于拼写错误的警告("frist")。
我可以写代码对我的Bean类进行反思,看看用户提供的哪些属性与可用的setter不一致,如果发现任何 "错误 "的属性,就会引发错误。但似乎有人(甚至可能是Typesafe配置基础库)一定已经有了这个功能。
任何指向一个好的现有方法来做这个非常感激。