カテゴリ: Micronaut 更新日: 2026/03/12

Micronautで複数の設定ファイルを使う方法!application-*.ymlの書き方を初心者向けに徹底解説

Micronautで複数の設定ファイルを使う方法!application-*.yml の書き方
Micronautで複数の設定ファイルを使う方法!application-*.yml の書き方

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

生徒

「Micronautって設定ファイルが一つだけじゃないんですか?環境ごとに設定を変えたいんですけど…」

先生

「Micronautでは複数の設定ファイルを使って、開発環境や本番環境ごとに設定を切り替えることができます。application-*.ymlがその仕組みです。」

生徒

「application.yml以外にもファイルを作っていいんですね。どうやって使い分けるんですか?」

先生

「順番に仕組みと書き方を見ていけば、自然と理解できます。Micronautの設定管理を基礎から学んでいきましょう。」

1. Micronautの設定管理の基本的な考え方

1. Micronautの設定管理の基本的な考え方
1. Micronautの設定管理の基本的な考え方

Micronautは、軽量で高速なJavaフレームワークとして知られており、設定管理もとても柔軟に設計されています。基本となるのがapplication.ymlという設定ファイルで、アプリケーション全体の動作をここで制御します。

設定ファイルには、サーバーのポート番号、データベース接続情報、ログ設定など、アプリケーションに必要なさまざまな情報を書きます。Micronautでは、これらの設定をコードに直接書かず、外部ファイルとして管理するのが基本です。

この仕組みにより、コードを変更せずに設定だけを切り替えることができ、開発環境、検証環境、本番環境といった複数環境の運用がしやすくなります。

2. application.ymlの役割と基本構造

2. application.ymlの役割と基本構造
2. application.ymlの役割と基本構造

application.ymlは、Micronautアプリケーションが最初に読み込む設定ファイルです。YAML形式で記述され、人間にも読みやすいのが特徴です。

例えば、サーバーのポート番号を指定する場合、次のように書きます。Micronautの設定管理では、このようなシンプルな記述で多くの設定が可能です。


micronaut:
  server:
    port: 8080

この設定だけで、Micronautアプリケーションは8080番ポートで起動します。初心者のうちは、まずapplication.ymlが基準となる設定ファイルだと覚えておくと理解しやすいです。

3. application-*.ymlで環境ごとに設定を分ける理由

3. application-*.ymlで環境ごとに設定を分ける理由
3. application-*.ymlで環境ごとに設定を分ける理由

実際の開発では、すべての環境で同じ設定を使うことはほとんどありません。例えば、開発環境ではローカル用のデータベース、本番環境では本番用のデータベースを使いたいケースが多いです。

Micronautでは、この問題を解決するためにapplication-環境名.ymlという仕組みが用意されています。これにより、共通設定はapplication.ymlに書き、環境ごとの差分だけを別ファイルに切り出せます。

設定管理を分離することで、ミスを減らし、安全にアプリケーションを運用できるようになります。特に初心者ほど、この考え方を早めに身につけることが大切です。

4. application-dev.ymlの書き方と具体例

4. application-dev.ymlの書き方と具体例
4. application-dev.ymlの書き方と具体例

開発環境用の設定ファイルとして、application-dev.ymlを作成するのが一般的です。このファイルには、開発時だけ使いたい設定を書きます。

例えば、開発用のサーバーポートを変更したり、ログを詳細に出力したりする設定がよく使われます。


micronaut:
  server:
    port: 8081

logger:
  levels:
    root: DEBUG

このように書くことで、開発環境では8081番ポートで起動し、ログも詳しく表示されます。本番環境に影響を与えない点が大きなメリットです。

5. application-prod.ymlで本番環境の設定を管理する

5. application-prod.ymlで本番環境の設定を管理する
5. application-prod.ymlで本番環境の設定を管理する

本番環境用にはapplication-prod.ymlを用意します。本番では安定性や安全性が重要になるため、設定内容も慎重に管理します。

例えば、ログレベルを抑えたり、ポート番号を標準的な値に設定したりします。


micronaut:
  server:
    port: 80

logger:
  levels:
    root: INFO

このように環境ごとに設定を分けることで、同じコードでも安全に動作させることができます。Micronautの設定管理が実務で評価される理由の一つです。

6. 環境を切り替えて起動する方法

6. 環境を切り替えて起動する方法
6. 環境を切り替えて起動する方法

複数の設定ファイルを作成しても、どの環境を使うか指定しなければ意味がありません。Micronautでは、環境名を指定して起動することで、対応するapplication-*.ymlが自動的に読み込まれます。

例えば、開発環境で起動する場合は、次のように環境名を指定します。


java -Dmicronaut.environments=dev -jar app.jar

この指定により、application.ymlとapplication-dev.ymlが読み込まれ、開発環境用の設定が適用されます。初心者でも扱いやすい仕組みです。

7. 設定値をJavaコードから取得する流れ

7. 設定値をJavaコードから取得する流れ
7. 設定値をJavaコードから取得する流れ

設定ファイルに書いた値は、Micronautの機能を使ってJavaコードから簡単に取得できます。これにより、設定と処理をきれいに分離できます。

例えば、設定ファイルの値をクラスに読み込む基本的な例を見てみましょう。


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

@Singleton
public class SampleConfig {

    @Value("${micronaut.server.port}")
    int port;

    public int getPort() {
        return port;
    }
}

このように設定管理とコードを分けることで、Micronautらしい保守しやすい設計になります。

8. 複数設定ファイル運用でよくある注意点

8. 複数設定ファイル運用でよくある注意点
8. 複数設定ファイル運用でよくある注意点

Micronautで複数の設定ファイルを使う場合、設定の上書きルールを理解しておくことが重要です。基本的には、application.ymlが土台となり、application-環境名.ymlがその上に重ねて適用されます。

同じキーが複数ファイルにある場合、環境別の設定が優先されます。この仕組みを理解していないと、意図しない設定が適用されることがあります。

初心者のうちは、設定ファイルをシンプルに保ち、環境ごとの差分だけを書くようにすると混乱しにくくなります。これがMicronautの設定管理をうまく使いこなすコツです。

関連記事:
カテゴリの一覧へ
新着記事
New1
Micronaut
Micronautの@Factoryとは?複雑なBean生成を管理するための方法を解説
New2
Quarkus
QuarkusのDIとCDIを完全理解!@Producesでプロデューサーメソッドを使う方法を初心者向けに解説
New3
Java
JavaのStringBufferクラスを徹底解説!スレッド安全な文字列操作の仕組みと使い分け
New4
Micronaut
Micronautで非同期HTTP処理を行う方法!リアクティブ対応の基礎知識
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkus入門!GitHub ActionsでCI/CDパイプラインを構築して自動ビルドを実現する方法
No.2
Java&Spring記事人気No2
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.3
Java&Spring記事人気No3
Quarkus
QuarkusのCI/CD入門!GitHub Actionsで自動デプロイを実現する方法
No.4
Java&Spring記事人気No4
Micronaut
Micronautのルーティング設定ガイド!プレフィックス付与とAPIバージョニングの基本
No.5
Java&Spring記事人気No5
Micronaut
Micronautのフィルタ徹底解説!HTTPリクエスト共通処理をスマートに追加する方法
No.6
Java&Spring記事人気No6
Java
Java Optional ifPresentの使い方を徹底解説!nullチェックをスマートに省略する方法
No.7
Java&Spring記事人気No7
Java
Java Functionインタフェースの使い方を完全ガイド!map変換と処理チェーンを理解する
No.8
Java&Spring記事人気No8
Java
JavaのString比較を徹底解説!equalsと==の違い、初心者が陥る罠とは?