ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
# 24.6.1. 加载YAML Spring框架提供两个便利的类用于加载YAML文档,`YamlPropertiesFactoryBean`会将YAML加载为`Properties`,`YamlMapFactoryBean`会将YAML加载为`Map`。 例如,下面的YAML文档: ```javascript environments: dev: url: http://dev.bar.com name: Developer Setup prod: url: http://foo.bar.com name: My Cool App ``` 会被转化到这些属性: ```java environments.dev.url=http://dev.bar.com environments.dev.name=Developer Setup environments.prod.url=http://foo.bar.com environments.prod.name=My Cool App ``` YAML列表被表示成使用`[index]`间接引用作为属性keys的形式,例如下面的YAML: ```javascript my: servers: - dev.bar.com - foo.bar.com ``` 将会转化到这些属性: ```java my.servers[0]=dev.bar.com my.servers[1]=foo.bar.com ``` 使用Spring `DataBinder`工具集绑定这些属性(这是`@ConfigurationProperties`做的事)时,你需要确保目标bean有个`java.util.List`或`Set`类型的属性,并且需要提供一个setter或使用可变的值初始化它,比如,下面的代码将绑定上面的属性: ```java @ConfigurationProperties(prefix="my") public class Config { private List<String> servers = new ArrayList<String>(); public List<String> getServers() { return this.servers; } } ```