カテゴリ: Micronaut 更新日: 2026/01/09

Micronautで設定値を取得する方法!@Valueと@ConfigurationPropertiesの使い分け完全解説

Micronautで設定値を取得する方法!@Value・@ConfigurationPropertiesの使い分け
Micronautで設定値を取得する方法!@Value・@ConfigurationPropertiesの使い分け

先生と生徒の会話形式で理解しよう

生徒

「Micronautでアプリの設定値を取得するには、どの方法が良いのでしょうか?」

先生

「Micronautでは@Value@ConfigurationPropertiesという二つの方法があります。それぞれ使い方や適した場面が異なるので理解しておくと便利です。」

生徒

「具体的にどんな違いがあるんですか?」

先生

「それでは、設定値取得の基本とサンプルを交えて順番に解説していきましょう。」

1. @Valueアノテーションを使った設定値取得

1. @Valueアノテーションを使った設定値取得
1. @Valueアノテーションを使った設定値取得

@Valueアノテーションはプロパティファイルや環境変数の単一の値を取得するときに便利です。シンプルな設定や一箇所でしか使わない値に適しています。プロパティはapplication.ymlやapplication.propertiesに記述できます。


package com.example.config;

import io.micronaut.context.annotation.Value;
import jakarta.inject.Singleton;

@Singleton
public class AppConfig {

    @Value("${app.name}")
    String appName;

    public String getAppName() {
        return appName;
    }
}

この例では、application.ymlに定義されたapp.nameの値をappNameフィールドに注入しています。シンプルで手軽に設定値を取得可能です。

SEOキーワード:Micronaut @Value、設定値取得、Java DI 設定、Micronaut application.yml 参照

2. @ConfigurationPropertiesを使った設定値取得

2. @ConfigurationPropertiesを使った設定値取得
2. @ConfigurationPropertiesを使った設定値取得

一方、@ConfigurationPropertiesは複数の関連する設定値をまとめて取得する場合に便利です。階層化された設定や複数フィールドを管理する場合に推奨されます。Micronautは自動的にプロパティをマッピングしてくれます。


package com.example.config;

import io.micronaut.context.annotation.ConfigurationProperties;
import jakarta.inject.Singleton;

@ConfigurationProperties("app")
@Singleton
public class AppProperties {

    private String name;
    private String version;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }
}

application.ymlでは以下のように記述します。


app:
  name: MicronautSample
  version: 1.0.0

このように@ConfigurationPropertiesを使うと、app.nameapp.versionをオブジェクトとしてまとめて扱えるので、複数箇所で設定値を利用する場合に便利です。

SEOキーワード:Micronaut @ConfigurationProperties、設定値まとめ取得、Java プロパティマッピング、Micronaut application.yml 階層設定

3. @Valueと@ConfigurationPropertiesの使い分け方

3. @Valueと@ConfigurationPropertiesの使い分け方
3. @Valueと@ConfigurationPropertiesの使い分け方

単一の設定値を取得する場合は@Valueが手軽で簡単です。一方、関連する設定を複数まとめて取得したい場合や、設定値のグループ化を行いたい場合は@ConfigurationPropertiesを使います。

たとえば、データベース接続設定や外部APIのエンドポイント情報など、複数のプロパティをまとめて管理したい場合には@ConfigurationPropertiesを使うと、コードが整理され、可読性や保守性も向上します。

SEOキーワード:Micronaut 設定値使い分け、@Value 使い方、@ConfigurationProperties 利用方法、Java 設定管理、Micronaut DI 設定注入

4. サービスでの設定値利用例

4. サービスでの設定値利用例
4. サービスでの設定値利用例

設定値を取得したら、サービスクラスで活用できます。例えばアプリ名やバージョンをログ出力したり、条件分岐に利用することが可能です。


package com.example.service;

import com.example.config.AppProperties;
import jakarta.inject.Singleton;

@Singleton
public class GreetingService {

    private final AppProperties appProperties;

    public GreetingService(AppProperties appProperties) {
        this.appProperties = appProperties;
    }

    public String greet() {
        return "Welcome to " + appProperties.getName() + " v" + appProperties.getVersion();
    }
}

このように@ConfigurationPropertiesを使うと、複数の設定値をまとめて注入でき、サービスの処理で簡単に利用可能です。

SEOキーワード:Micronaut サービス設定値利用、Java DI 設定注入、Micronaut @ConfigurationProperties サンプル、設定値ログ出力

5. 環境変数やプロファイルごとの設定値取得

5. 環境変数やプロファイルごとの設定値取得
5. 環境変数やプロファイルごとの設定値取得

Micronautではapplication.ymlのプロファイル機能を利用して、環境ごとに異なる設定値を管理できます。@Value@ConfigurationPropertiesはプロファイルに応じた値を自動で取得可能です。


# application-dev.yml
app:
  name: MicronautSampleDev
  version: 1.0.1

開発環境ではapplication-dev.ymlを読み込み、本番環境ではapplication-prod.ymlを読み込むことで、環境ごとに設定を切り替えられます。

SEOキーワード:Micronaut プロファイル設定、環境別設定値取得、Java プロパティ環境切替、Micronaut @Value 環境対応

6. まとめの前に活用のポイント

6. まとめの前に活用のポイント
6. まとめの前に活用のポイント

@Valueは簡単な単一値取得に、@ConfigurationPropertiesは複数設定値のまとめ管理に適していることを覚えておきましょう。DIコンテナと組み合わせることで、設定値の変更や環境切替も簡単に行え、Micronautアプリケーションの柔軟性が向上します。開発者はこの二つの方法を理解し、適切に使い分けることで、保守性の高いコードを書くことができます。

関連記事:
カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkusのフォーム認証を基礎から解説!初心者向けセキュリティ入門ガイド
New2
Micronaut
MicronautプロジェクトをGradleで管理する基礎!build.gradleの役割を解説
New3
Micronaut
LinuxでMicronautをセットアップする方法!パッケージ管理とGradle連携
New4
Java
Javaのswitch文を徹底解説!case・defaultの書き方と実例まとめ
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド
No.2
Java&Spring記事人気No2
Quarkus
QuarkusとMicronautとHelidonを徹底比較!軽量Javaフレームワークの違いを初心者向けに解説
No.3
Java&Spring記事人気No3
Quarkus
Quarkusのセキュリティ基礎を初心者でもわかるように解説!
No.4
Java&Spring記事人気No4
Quarkus
Quarkusでマイクロサービス開発が加速する理由を徹底解説!Java初心者でも分かるクラウドネイティブ
No.5
Java&Spring記事人気No5
Micronaut
MicronautとSpring Bootの違いとは?アーキテクチャ比較で速さの秘密を理解する
No.6
Java&Spring記事人気No6
Quarkus
Quarkusの開発環境構築で躓きやすいポイントを完全解説!初心者でも安心して始めるためのチェックガイド
No.7
Java&Spring記事人気No7
Micronaut
MicronautのAOPが高速な理由とは?コンパイル時AOPの仕組みを初心者向けに徹底解説
No.8
Java&Spring記事人気No8
Java
Javaのboolean型の使い方を完全ガイド!真偽値と条件分岐の基本