返回

Quarkus 应用程序配置文件配置教程

见解分享

使用配置文件配置 Quarkus 应用程序的详细教程


引言

在上一篇关于配置 Quarkus 应用程序的文章中,我们讨论了使用统一配置(application.properties 文件)、Microprofile 配置或系统属性来配置 Quarkus 应用程序的不同方法。在本文中,我们将深入研究使用配置文件来配置 Quarkus 应用程序的详细信息。

配置文件是一种强大的机制,可让您轻松地在不同环境(例如开发、测试和生产)中配置应用程序。它们还使您能够根据不同的条件(例如应用程序启动时或在运行时)动态更改应用程序配置。

创建配置文件

要在 Quarkus 应用程序中创建配置文件,请在 src/main/resources 目录中创建一个新的 properties 文件。该文件的名称应该以 application.properties 为前缀,后跟一个表示环境或配置集的后缀。例如,您可以创建以下配置文件:

  • application.properties:用于开发环境的默认配置
  • application-test.properties:用于测试环境的配置
  • application-prod.properties:用于生产环境的配置

配置文件属性

配置文件属性与统一配置属性相似。您可以使用属性键值对来设置配置值。例如,以下属性设置应用程序的端口:

quarkus.http.port=8080

加载配置文件

Quarkus 将自动加载所有 application.properties 文件,但您也可以通过在 application.properties 文件中指定配置文件名称来显式加载特定的配置文件。例如,以下属性将加载 application-test.properties 配置文件:

quarkus.profile=test

配置文件优先级

当有多个配置文件可用时,Quarkus 会根据以下优先级顺序加载它们:

  1. 应用程序中显式加载的配置文件
  2. 以 application.properties 为前缀命名的所有配置文件
  3. 以 microprofile-config.properties 为前缀命名的所有配置文件

在每个优先级级别中,配置文件按名称升序加载。这意味着 application-test.properties 将在 application-prod.properties 之前加载,而后者又将在 application.properties 之前加载。

动态配置

配置文件中的属性可以在应用程序启动后动态更改。为此,您可以使用 Configurable 接口。例如,以下代码在应用程序启动时动态设置应用程序的端口:

@ApplicationScoped
public class MyConfig implements Configurable {

    @Override
    public void configure(ConfigBuilder configBuilder) {
        configBuilder.replaceConfigValue("quarkus.http.port", 8080);
    }
}

结论

配置文件是配置 Quarkus 应用程序的强大工具。它们允许您轻松地在不同环境中配置应用程序,并根据不同的条件动态更改应用程序配置。通过了解如何创建和使用配置文件,您可以更轻松地管理应用程序的配置并确保其在所有环境中都能正常运行。