我有一些Java代码可以创建ConfigurationProviderBuilder。
private static ExampleConf conf(String confFile) {
ConfigFilesProvider configFilesProvider =
() -> Arrays.asList(Paths.get(confFile).toAbsolutePath());
// use local files as config source
ConfigurationSource source =
new FilesConfigurationSource(configFilesProvider);
// create provider
return new ConfigurationProviderBuilder()
.withConfigurationSource(source)
.build()
.bind("", ExampleConf.class);
}
ExampleConf看起来像这样
public interface ExampleConf {
String host();
int port();
String certFile();
}
最后,实际的配置文件如下所示
host: localhost
port: 8980
certFile: /usr2/certs/ca/ca.crt
这很容易,但是现在我想在yaml配置文件中创建一个嵌套结构。像这样
paths:
- name: path one
columns:
- foo
- bar
- name: path two
columns:
- mario
- luigi
如何将THIS ^转换为Java代码,以用于ExampleConf?
我仍然在跟上Java的发展速度,这对我来说使用python会容易得多。
最佳答案
尝试:
public interface ExampleConf {
public interface MyObject {
String name();
List<String> columns();
}
List<MyObject> paths();
}