1.9. プロパティー式


プロパティー参照とテキスト文字列を組み合わせてプロパティー式を作成し、プロパティー式を Red Hat build of Quarkus 設定の値として使用できます。

プロパティー式は、変数と同様に、設定値を動的に置き換えます。そのため、値のハードコードを回避するのに役立ちます。

ある設定ソースで定義されたプロパティーを別のソースから参照できます。

Red Hat build of Quarkus は、設定プロパティーを読み取るとき、つまり以下のタイミングでプロパティー式を解決します。

  • ビルド時 (ビルド時にプロパティーが読み取られる場合)
  • 実行時 (実行時にプロパティーが読み取られる場合)

プロパティー式を解決できず、式にデフォルト値が含まれていない場合、Red Hat build of Quarkus は NoSuchElementException を出力します。

1.9.1. プロパティー式の使用例

Quarkus アプリケーション設定時に柔軟性を持たせるために、次の例に示すプロパティー式を使用できます。

  • 設定プロパティーの値の置き換え:

    プロパティー式を使用して、設定内のプロパティー値のハードコーディングを回避できます。以下の例のように、${<property_name>} 構文を使用して、設定プロパティーを参照する式を作成します。

    application.properties ファイルの例

    remote.host=quarkus.io
    callable.url=https://${remote.host}/

    callable.url プロパティーの値は https://quarkus.io/ に解決されます。

  • 特定の設定プロファイルに固有のプロパティー値の設定:

    以下の例では、%dev 設定プロファイルとデフォルトの設定プロファイルは、異なるホストアドレスでデータソース接続 URL を使用するように設定されます。

    application.properties ファイルの例

    %dev.quarkus.datasource.jdbc.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false
    quarkus.datasource.jdbc.url=jdbc:mysql://remotehost:3306/mydatabase?useSSL=false

    データソースドライバーは、アプリケーションの起動に使用する設定プロファイルに応じて、プロファイルに設定したデータベース URL を使用します。

    カスタム application.server プロパティーに対して、設定プロファイルごとに異なる値を設定することで、簡単に同じ結果を得ることができます。その後、次の例に示すように、アプリケーションのデータベース接続 URL でプロパティーを参照できます。

    application.properties ファイルの例

    %dev.application.server=localhost
    application.server=remotehost
    
    quarkus.datasource.jdbc.url=jdbc:mysql://${application.server}:3306/mydatabase?useSSL=false

    application.server プロパティーは、アプリケーションの実行時に選択するプロファイルに応じて適切な値に解決されます。

  • プロパティー式のデフォルト値の設定:

    プロパティー式のデフォルト値を定義できます。Quarkus は、式を展開するために必要なプロパティーの値が設定ソースのいずれからも解決されない場合に、デフォルト値を使用します。次の構文を使用して、式のデフォルト値を設定できます。

    ${<property_name>:<default_value>}

    以下の例では、データソース URL のプロパティー式は、application.server プロパティーのデフォルト値として mysql.db.server を使用します。

    application.properties ファイルの例

    quarkus.datasource.jdbc.url=jdbc:mysql://${application.server:mysql.db.server}:3306/mydatabase?useSSL=false

  • プロパティー式のネスト化:

    プロパティー式を別のプロパティー式内にネスト化することで、プロパティー式を作成できます。ネスト化されたプロパティー式を展開する際には、内部の式が最初に展開されます。プロパティー式をネストするには、次の構文を使用します。

    ${<outer_property_name>${<inner_property_name>}}
  • 複数のプロパティー式を組み合わせます。

    次の構文を使用して、2 つ以上のプロパティー式を結合できます。

    ${<first_property_name>}${<second_property_name>}
  • プロパティー式と環境変数の組み合わせ:

    プロパティー式を使用して、環境変数の値を置き換えることができます。次に示す例の式は、HOST 環境変数に設定される値を application.host プロパティーの値として置き換えます。

    application.properties ファイルの例

    remote.host=quarkus.io
    application.host=${HOST:${remote.host}}

HOST 環境変数が設定されていない場合、application.host プロパティーは、remote.host プロパティーの値をデフォルトとして使用します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る