像属性一样读取 YAML 文件

Read YAML file like properties

我正在开发一个 spring 引导项目,我需要一些外部配置。所以我将其存储在一个名为“config.yml”的文件中,该文件位于“src/main/resources”文件夹中。

现在我想将 config.yml 中的属性注入到我的 class 中。现在,如果我们使用 SnakeYML 或任何其他解析器,我们将需要制作 Java classes 来定义模式。

我想要的是我可以像使用@Value 注释的属性一样读取 yml。例如

logging:
  class:
    name:
    location: 

我需要使用

访问“名称”或“位置”属性
@Value(${logging.class.name})
private String name;

有没有办法在 spring 启动时做到这一点?

您不需要添加单独的 yml。您将自定义属性添加到 application.yml 或 application-{env}.yml Spring 识别它,你可以通过

  1. @值
  2. Spring环境
  3. 使用 Spring 配置属性