bti*_*nay 5 yaml snakeyaml spring-boot
我有一个YAML配置文件,其中包含属性映射:
properties:
a.b.c: 1
Run Code Online (Sandbox Code Playgroud)
Boot将解析为:
{a:{b:{c:1}}}
Run Code Online (Sandbox Code Playgroud)
但是,我想要的是:
{'a.b.c': 1}
Run Code Online (Sandbox Code Playgroud)
反正有没有把它哄进"通过"键模式?引用密钥似乎没有帮助.
下面的实际例子.
import static com.google.common.collect.Maps.newLinkedHashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
import lombok.Data;
import lombok.val;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Data
@Configuration
@ConfigurationProperties("hadoop")
public class HadoopProperties {
private Map<Object, Object> properties = newLinkedHashMap();
}
Run Code Online (Sandbox Code Playgroud)
application.yml:
hadoop:
properties:
fs.defaultFS: hdfs://localhost:8020
mapred.job.tracker: localhost:8021
Run Code Online (Sandbox Code Playgroud)
调用toString()生成的对象:
HadoopProperties(properties = {fs = {defaultFS = hdfs:// localhost:8020},mapred = {job = {tracker = localhost:8021}}})
| 归档时间: |
|
| 查看次数: |
2418 次 |
| 最近记录: |