首页 > 解决方案 > 将 Typesafe 配置映射到 bean 类 (ConfigBeanFactory) 时,有没有办法标记拼写错误的属性?

问题描述

我们的应用程序使用 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 配置基础库)必须已经拥有此功能。

任何指向一个好的现有方法的指针都非常感谢。

标签: javabeanstypesafe-confighocon

解决方案


推荐阅读