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
配置文件为红帽构建的 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 数据源。
-
您有
quarkus-jdbc-postgresql
和quarkus-config-yaml
扩展作为项目的pom.xml
文件中的依赖项。
步骤
-
打开项目的配置文件
src/main/resources/application.yaml
。 要设置独立于配置集的配置,请在使用
"%<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 应用程序的红帽构建配置属性"指南中的设置配置属性 部分。