搜索

1.2. 添加 YAML 配置支持

download PDF

红帽构建的 Quarkus 通过 Eclipse MicroProfile Config 的 SmallRye Config 实现支持 YAML 配置文件。您可以添加 Quarkus Config YAML 扩展,并在属性文件中使用 YAML 配置文件进行配置。Quarkus 支持使用 application.ymlapplication.yaml 作为 YAML 文件的名称。

YAML 配置文件优先于 application.properties 文件。要避免错误,您可以删除 application.properties 文件,并仅使用一种配置文件。

步骤

  1. 使用以下方法之一在项目中添加 YAML 扩展:

    • 打开 pom.xml 文件,将 quarkus-config-yaml 扩展添加为依赖项:

      pom.xml 文件示例

      <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-config-yaml</artifactId>
      </dependency>

    • 要从命令行添加 quarkus-config-yaml 扩展,请在项目目录中输入以下命令:

      添加 quarkus-config-yaml 扩展

      ./mvnw quarkus:add-extension -Dextensions="quarkus-config-yaml"

1.2.1. 将嵌套对象配置与 YAML 搭配使用

您可以使用 application.yaml 配置文件为红帽构建的 Quarkus 应用程序定义嵌套配置属性。

先决条件

  • 您有一个 Quarkus Maven 项目。
  • 您有一个 PostgreSQL 数据源。
  • 在项目的 pom.xml 文件中有以下扩展作为依赖项:

    • quarkus-resteasy-client
    • quarkus-jdbc-postgresql
    • quarkus-config-yaml

步骤

  1. 打开 src/main/resources/application.yaml 配置文件。
  2. application.yaml 文件中添加嵌套类配置属性,如下例所示:

    application.yaml 文件示例

    # Properties that configure the JDBC data source driver of your PostgreSQL data source
    quarkus:
      datasource:
        db-kind: postgresql
        jdbc:
          url: jdbc:postgresql://localhost:5432/quarkus_test
        username: quarkus_test
        password: quarkus_test
    
    # Property that configures the URL of the endpoint to which the REST client sends requests
    quarkus:
      rest-client:
        org.acme.rest.client.ExtensionsService:
          url: https://stage.code.quarkus.io/api
    
    # Property that configures the log message level for your application
    # For configuration property names that use quotes, do not split the string inside the quotes
    quarkus:
      log:
        category:
          "io.quarkus.category":
            level: INFO

    警告

    对于生产环境,请不要在配置文件中设置用户名和密码,如上例中所示。这仅用于说明目的。相反,请在环境变量中设置它们。如需更多信息,请参阅"使用 属性文件配置红帽构建的 Quarkus 应用程序指南中的设置配置属性 部分。

    application.properties 文件类似,您可以使用注释以 YAML 格式描述您的配置属性。

    注意

    始终使用空格来缩进 YAML 配置文件中的属性。YAML 不支持将标签页用于缩进。

1.2.2. 使用 YAML 设置自定义配置配置集

使用 Quarkus,您可以设置特定于应用程序不同配置配置集的配置属性和值。您可以使用特定的配置文件启动应用程序,以访问特定的配置。此流程演示了如何以 YAML 格式为特定配置集提供配置。

先决条件

  • 您有一个 Quarkus Maven 项目,配置为使用带有 JDBC 数据源驱动程序的 PostgreSQL 数据源。
  • 您有 quarkus-jdbc-postgresqlquarkus-config-yaml 扩展作为项目的 pom.xml 文件中的依赖项。

步骤

  1. 打开项目的配置文件 src/main/resources/application.yaml
  2. 要设置独立于配置集的配置,请在使用 "%<profile_name>" 语法定义键值对前添加 配置集名称。确保将配置集名称放在引号中。

    提示

    在 YAML 中,您必须将以特殊字符开头的所有字符串放在引号内。

    在以下示例中,当您以开发模式启动 Quarkus 应用程序时,PostgreSQL 数据库被配置为位于 jdbc:postgresql://localhost:5432/some-database URL:

    src/main/resources/application.yaml

    "%dev":
      quarkus:
        datasource:
          db-kind: postgresql
            jdbc:
              url: jdbc:postgresql://localhost:5432/quarkus_test
            username: quarkus_test
            password: quarkus_test

    警告

    对于生产环境,请不要在配置文件中设置用户名和密码,如上例中所示。这仅用于说明目的。相反,请在环境变量中设置它们。如需更多信息,请参阅"使用 属性文件配置红帽构建的 Quarkus 应用程序指南中的设置配置属性 部分。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.