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

标签 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>>> 类型的私有(private)变量解析这个,但这也不起作用。

如何解析这种类型的文件?我已经尝试了几乎所有我知道的事情。我是 Spring 新手,所以任何帮助都会很棒!

最佳答案

您可以使用@Value注释从YAML文件或类型安全配置属性中获取值来绑定(bind)值,了解此处的引用,link .

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

关于java - 如何从application.yaml文件中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326682/

相关文章:

java - Spring XD 在一个模块中转换和路由消息

使用 Spring Boot 后端通过 Google Sign-In 进行 Android 登录

java - 如何处理1 :N Foreign Key for CRUD in Spring MVC/Hibernate?

Spring 安全: Multiple OpenID Connect Clients for Different Paths?

spring - Controller 方法上的自定义注释以拦截请求并验证

java - "Developers use the returned Future object to track progress of the transmission."是什么意思

java - 如何使用多维数组列表?

java - Selenium 和 JUnit 在多个驱动程序中并行执行测试方法

java - 在 EntityListener 中插入导致 Hibernate 中的 ConcurrentModificationException

java - 如何修复Java Spark提交错误: NoSuchMethodError: javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String