1.7. プログラムで設定にアクセスする


コード内にメソッドを定義して、アプリケーションの設定プロパティー値を取得できます。そうすることで、設定プロパティー値を動的に検索したり、CDI Bean または Jakarta REST (旧名 JAX-RS) リソースのいずれかのクラスから設定プロパティー値を取得したりできます。

org.eclipse.microprofile.config.ConfigProvider.getConfig() メソッドを使用して設定にアクセスできます。config オブジェクトの getValue() メソッドは、設定プロパティー値を返します。

前提条件

  • Quarkus Maven プロジェクトがある。

手順

  • メソッドを使用して、アプリケーションコード内のクラスまたはオブジェクトの設定プロパティーの値にアクセスします。取得する値がプロジェクトの設定ソースに設定されているかどうかに応じて、以下のいずれかのメソッドを使用できます。

    • たとえば、application.properties ファイルで、プロジェクトの設定ソースで設定されるプロパティーの値にアクセスするには、getValue() メソッドを使用します。

      String <variable-name> = ConfigProvider.getConfig().getValue("<property-name>", <data-type-class-name>.class);
      Copy to Clipboard Toggle word wrap

      たとえば、データ型が String で、コード内の message 変数に割り当てられている greeting.message プロパティーの値を取得するには、次の構文を使用します。

      String message = ConfigProvider.getConfig().getValue("greeting.message",String.class);
      Copy to Clipboard Toggle word wrap
    • 任意の値またはデフォルト値を取得し、application.properties ファイルまたはアプリケーションの別の設定ソースで定義されていない場合は、getOptionalValue() メソッドを使用します。

      Optional_<String>_ <variable-name> = ConfigProvider.getConfig().getOptionalValue("<property-name>", <data-type-class-name>.class);
      Copy to Clipboard Toggle word wrap

      たとえば、オプションで、データ型が String で、コード内の name 変数に割り当てられている、オプションの greeting.name プロパティーの値を取得するには、次の構文を使用します。

      Optional_<String>_ name = ConfigProvider.getConfig().getOptionalValue("greeting.name", String.class);
      Copy to Clipboard Toggle word wrap

次の抜粋は、プログラムによる設定へのアクセスを使用して、前述の GreetingResource クラスのバリアントを示します。

src/main/java/org/acme/config/GreetingResource.java

package org.acme.config;

import java.util.Optional;

import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
import org.eclipse.microprofile.config.inject.ConfigProperty;

@Path("/greeting")
public class GreetingResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        Config config = ConfigProvider.getConfig();
        String message = config.getValue("greeting.message", String.class);
        Optional_<String>_ suffix = config.getOptionalValue("greeting.suffix", String.class).orElse("!");
        Optional_<String>_ name = config.getOptionalValue("greeting.name", String.class);

        return message + " " + name.orElse("world") + suffix;
    }
}
Copy to Clipboard Toggle word wrap

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る