我不确定这是否是最有效的方法,但这有效:
1)让我们获取我们的配置文件:
val config = ConfigFactory.load().getConfigList("providers")
scala> config.getConfigList("providers")
res23: java.util.List[_ <: com.typesafe.config.Config] = [Config(SimpleConfigObject({"id":"1234","name":" Product2"})), Config(SimpleConfigObject({"id":"4523","name":"Product1"})), Config(SimpleConfigObject({"id":"432","name":" Product3"}))]
2) 对于这个例子,引入 Provider 实体:
case class Provider(id: String, name: String)
3)现在让我们将带有配置的列表转换为提供者:
import scala.collection.JavaConversions._
providers.map(conf => Provider(conf.getString("id"), conf.getString("name"))).toList
res27: List[Provider] = List(Provider(1234, Product2), Provider(4523,Product1), Provider(432, Product3))
我们需要显式转换它toList,因为默认情况下 Java List 转换为 Buffer。