1.2. 添加 YAML 配置支持
红帽构建的 Quarkus 通过 Eclipse MicroProfile Config 的 SmallRye Config 实现支持 YAML 配置文件。您可以添加 Quarkus Config YAML 扩展,并通过属性文件使用 YAML 配置文件进行配置。Quarkus 支持使用 application.yml 和 application.yaml 作为 YAML 文件的名称。
YAML 配置文件优先于 application.properties 文件。要避免错误,您可以删除 application.properties 文件,并只使用一种类型的配置文件。
流程
使用以下方法之一在项目中添加 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 配置文件为 Red Hat build of Quarkus 应用程序定义现有配置属性。
先决条件
- 您有一个 Quarkus Maven 项目。
- 您有一个 PostgreSQL 数据源。
在项目的
pom.xml文件中有以下扩展作为依赖项:-
quarkus-resteasy-client -
quarkus-jdbc-postgresql -
quarkus-config-yaml
-
流程
-
打开
src/main/resources/application.yaml配置文件。 在
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 数据源。
-
在项目的
pom.xml文件中具有quarkus-jdbc-postgresql和quarkus-config-yaml扩展作为依赖项。
流程
-
打开项目的配置文件
src/main/resources/application.yaml。 要设置与配置集相关的配置,请在使用
"%<profile_name>" 语法定义键值对前添加配置集名称。确保将配置集名称放在引号内。提示在 YAML 中,您必须将以特殊字符开头的所有字符串放在引号内。
在以下示例中,当您以开发模式启动 Quarkus 应用程序时,PostgreSQL 数据库被配置为位于
jdbc:postgresql://localhost:5432/quarkus_testURL 中: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 应用程序的红帽构建配置属性"指南中的设置配置属性 部分。