如何从application.yaml文件获取值?

时间:2019-10-10 15:45:16

标签: java spring spring-boot

我有一个application.yaml文件,如下所示:

 config:
   level1:
    sub1:
      hostname:"abc.xyz.com"
      port:3000
    sub2:
      hostname: "www.xyz.com"
      port:3001
   level2:
    sub1:
      hostname: "www.abc.com"
      port: 3000
    sub2:
      hostname: "www.xyz.com"
      port:3001

到目前为止,我已经尝试使用@ConfigurationProperties(“ config”),然后尝试使用类型为Map<String, Map<String, Map<String, String>>>的私有变量来对此进行解析,但这也不起作用。

如何解析此类文件?我已经尝试了几乎所有我所知道的东西。我是新来的,所以对此的任何帮助都将很棒!

1 个答案:

答案 0 :(得分:0)

您可以使用@Value批注从YAML文件中获取值,也可以使用类型安全的配置属性来绑定值,在此处link了解参考。

@Component
public class MyBean {
    @Value("${name}")
    private String name;
    // ...
}