application.yml・とは?初心者でも分かる使い方ガイド共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
application.yml・とは?初心者でも分かる使い方ガイド共起語・同意語・対義語も併せて解説!
この記事を書いた人

高岡智則

年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)


application.ymlとは?

application.yml は アプリケーションの 設定を まとめて 管理する ための ファイルです。特に Spring Boot という フレームワーク で よく 使われます。設定を 1 か所にまとめておくと 開発や 運用が 楽になり、環境ごとに 値を 変えることも 簡単に できます。

YAML とは何か

YAML は データを 人に 読みやすい 形で 書く ための 言語です。キーと値を 冒頭に 置き、インデント で 階層を 表します。例として 次のように 見やすく 書きます。
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: secret
jpa:
hibernate:
ddl-auto: update

ここでの ルールインデントは2スペース が 基本だということだけ覚えておけば 十分です。

application.yml の基本的な書き方

ファイルの名前は application.yml で、配置場所は 普通は src/main/resources 配下です。ファイルの中身は ネストされた キーと 値の組み合わせで表します。たとえば サーバーのポートやデータベースの接続先などを まとめて 設定します。

実例として 作成するときのポイントを 3 つ 挙げます。1 重要な設定は 下に 降ろして 階層化します。2 環境別の設定は プロファイルで 切り替えやすくします。3 文字列には 何か規則性が あれば そのまま にしておくと 後で 変更が楽です。

環境別の設定とプロファイル

spring プロパティの中に profiles を使うと 環境ごとに 値を 違えることができます。例えば dev 環境と prod 環境で データベースのURL を 変えるときに 有効です。Spring Boot では application-dev.ymlapplication-prod.yml のように 別ファイルを 用意して 線引きする のが よくある手法です。メインのファイルには 共通の設定を、環境ごとのファイルに 環境特有の設定を 入れる と 整理 しやすく なります。

よく使うキーと 例

以下は よく出てくる設定の 例です。実務で 役立つ 簡単な構成を 抜粋します。

キー
spring.datasource.urlデータベースの接続URL
spring.datasource.usernameデータベース接続のユーザー名
spring.datasource.passwordデータベース接続のパスワード
server.portサーバーのポート番号
spring.jpa.hibernate.ddl-autoDB のスキーマ自動更新の設定

表の項目は 自分の 使いたい設定に 応じて 追加 できます。 YAML の大事な点は インデント と コロンの使い方 です。インデントの数が 違うと データの階層が 変わってしまうので 注意しましょう。

実際に使うときの順序と 注意点

実務で 最初に 触るときは ほとんどの場合、application.yml を 1 つ 書き換える ところから 始まります。そのあと アプリを 再起動すると 設定が 反映されます。もう少し 実践的なポイントとしては、Git での 設定ファイルの 管理 です。環境ごとに 値が 異なる場合は それぞれの ファイルを 作って おき、開発者全員が 同じ 設定フォーマットで 共同作業できるようにします。


application.ymlの同意語

application.yml
Spring Boot などの Java アプリケーションで使われる YAML 形式の設定ファイル。アプリ全体の動作を決める設定を格納する代表的なファイル。
application.yaml
拡張子を .yaml にした同等の YAML 設定ファイル。中身は application.yml と同じ。
YAML設定ファイル
YAML 形式で設定を記述するファイル。Spring Boot の初期設定やアプリ設定を保存する形式。
YAMLファイル
YAML 形式のファイル一般。設定を格納する用途で使われるファイル。
設定ファイル
アプリやフレームワークの挙動を決める設定情報を格納するファイル。
Spring Boot の設定ファイル
Spring Boot アプリ用の設定を記述するファイル。主に application.yml や application.properties が対象。
設定値ファイル
構成値(設定値)を集約して管理するファイル。
プロパティファイル
キーと値の組み合わせ(key=value)で設定を記述するファイル形式の総称。Spring Boot では .properties が代表例
application.properties
YAML ではなく .properties 形式で書かれた Spring Boot の設定ファイル。
bootstrap.yml
Spring Cloud や古い Spring Boot プロジェクトで、起動時の設定を記述するファイル。
bootstrap.yaml
bootstrap.yml の YAML 版。起動時の設定を YAML 形式で記述するファイル。
config.yml
プロジェクト固有の設定を YAML 形式で格納するファイル名の一例。
config.yaml
config.yml の YAML 版。拡張子を .yaml にした表記。
YAML 形式の設定ファイル
YAML 形式で記述された設定ファイル全般を指す表現。

application.ymlの対義語・反対語

システム
アプリケーションに対する全体的な動作環境・基盤を指す概念。OSやネットワーク、ハードウェアなどを含む広義の環境で、個別のアプリケーション設定ファイルである application.yml の対義語として捉えられます。
実行ファイル
設定ファイルではなく、プログラムを実際に動かすファイル。application.yml が設定を記述するのに対し、実行ファイルは動作を開始する役割を担います。
JSON
YAML の対をなすデータ表現フォーマットの一つ。構文や表現方法が異なる点から、同じ用途の別形式として対比されます。
XML
YAML よりも冗長で階層表現が明示的なデータ表現形式。設定情報を表す別形式として対比的に挙げられます。
INI
古くからある設定ファイル形式。YAML の階層構造よりも単純なキー=値の表現が主体で、application.yml の対義語として捉えられることがあります。
雛形ファイル
実際の設定として適用される前の“雛形”となるファイル。完成済み設定ファイルである application.yml の対義的な役割として挙げられます。
readme.md
設定値そのものではなく、使い方・説明を記した文書ファイル。設定ファイルとしての用途とは異なる点で対照的です。

application.ymlの共起語

YAML
YAML は人が読みやすい設定ファイルの記述形式。拡張子は .yml または .yaml。
拡張子 .yml / .yaml
YAML のファイル拡張子。application.yml や application.yaml でよく使われる。
設定ファイル
アプリやフレームワークの設定を記述するファイルの総称。
階層構造
YAML はインデントで階層を表現し、ネストした設定を整理する。
インデント
階層を決めるスペースの数。タブは使わず、スペースで揃えるのが基本。
キーと値
設定項目はキー: 値のペアで表現する。
ネスト
親キーの下に子キーを階層化してグルーピングする方法。
正しい書き方
インデント重視の書き方を守る。スペースの乱れはエラーの原因になる。
application.yml
Spring Boot のデフォルト設定ファイル。アプリの設定をここに書くのが一般的。
application.yaml
application.yml の別表記。意味は同じ。
Spring Boot
Java の Web アプリ用フレームワーク。設定ファイルとして YAML を活用する。
Spring Framework
Spring の基盤となる広範なライブラリ群。設定ファイルは YAML で記述されることも多い。
src/main/resources
設定ファイルを置く標準のディレクトリ。ビルド時にクラスパスへ含まれる。
spring.config.import
他の設定ファイルを取り込んで統合する機能。複数ファイルの組み合わせに使う。
spring.profiles.active
有効化するプロファイルを指定する設定。環境ごとの設定を切り替える際に使う。
プロファイル
開発/検証/本番など、環境ごとに異なる設定のグループ
環境変数連携
環境変数で YAML の値を上書きする仕組みを活用できる。
上書
設定は後から読み込まれた値で前の値を上書きできる場合がある。
デフォルト値
値を省略したときに使われる既定の設定。
サーバー設定
サーバ関連の設定(例: server.port、server.servlet.context-path)を YAML で記述する。
spring.datasource
データベース接続情報のプレフィックス。URL/ユーザー名/パスワード等を設定する。
ログ設定
ログ出力レベルやフォーマット、パターンを制御する設定。
配列
YAML では '-' から始まるリストで複数値を並べる。
コメント
行頭や行末の '#' 以降はコメントとして無視される。
文字コード
ファイルの文字コード。UTF-8 が推奨されることが多い。
UTF-8
広く使われる文字コード。日本語を含む設定にも適している。
リソースディレクトリ
設定ファイルを配置する場所。通常は src/main/resources。
セキュリティ設定
機密情報の取り扱いには注意。外部化や暗号化の検討が必要。
設定の優先順位
設定は複数の出所から統合され、優先順位に従って解決される。公式ドキュメントを参照するのがベスト。
複数ファイルの統合
spring.config.import で複数ファイルを組み合わせ、1つの有効な設定にまとめられる。

application.ymlの関連用語

application.yml
Spring Boot などの外部化設定を YAML 形式で記述するファイル。設定はネスト構造で表現されます。
application.yaml
application.yml の別表記で、拡張子は .yaml でも使用できます。
YAML
YAML は階層型データを記述する軽量言語で、インデントで親子関係を表現します。
YAMLの基本構文
キーと値をコロンで結び、インデントで階層を作り、リストは - で表します。
リスト
リストは - から始まる要素の並びとして表現します。
キーと値
設定は基本的にキーと値のペアで表されます。
インデント
階層を示すためには一定のスペースで正しくインデントします。
アンカーとエイリアス
&anchor で定義し *anchor で再利用して値を共有できます。
マージ
<<: *anchor のように他のセクションを結合することができます。
ドキュメント分割
複数の YAML ドキュメントを1ファイルに記述可能です(--- で区切る).
コメント
# で始まる行はコメントとして無視されます。
application.properties
Spring Boot の従来の設定ファイル。フラットまたは階層風のキーで表現します。
外部化設定
設定をコード外部に置き、環境ごとに切り替えられるようにする考え方。
Spring Boot
Java アプリの外部設定読み込みと自動構成を提供するフレームワーク
プロファイル
dev や prod など、環境ごとに設定を分ける仕組み。
spring.profiles.active
現在有効にするプロファイル名を指定する設定。
プロファイル固有ファイル
application-dev.yml など、特定のプロファイル用設定を別ファイルに分ける方法。
spring.config.import
他の設定ファイルを読み込む指示。リモート・ローカルの設定を組み合わせ可能。
spring.config.location
外部ファイルの場所を追加指定して設定を読み込む設定。
spring.config.activate.on-profile
特定のプロファイルが有効な場合のみ適用するセクションを定義する機能。
キーの階層とバインディング
YAML の階層は @ConfigurationProperties の prefix に対応するプロパティ群へ自動バインドされます。
@ConfigurationProperties
YAML の設定を型安全に Java オブジェクトへ結びつけるアノテーション。
Relaxed binding
プロパティ名の表記揺れを自動で結びつける Spring Boot の仕組み。
レースホルダ
${ENV_VAR} のように他の値や環境変数を参照して値を設定できます。
SnakeYAML
Spring Boot が YAML をパースするデフォルトのライブラリ
Spring Cloud Config
リモートの設定サーバで外部化設定を一元管理する仕組み。
優先順位と上書き
一般的にはデフォルト設定 < 外部ファイル・環境変数・コマンドラインの順で上書きされます。
セキュリティと機密情報
機密情報はリポジトリに含めず、環境変数や秘密管理を活用するのが推奨。
サーバ設定の例
YAML での例として、server: { port: 8080 } のようにネストして記述します。

application.ymlのおすすめ参考サイト


インターネット・コンピュータの人気記事

awstatsとは?初心者でもわかる使い方と基本解説共起語・同意語・対義語も併せて解説!
14446viws
bing・とは?初心者のための基本ガイド:検索エンジンの仕組みと使い方共起語・同意語・対義語も併せて解説!
2406viws
着信転送とは?初心者向けガイドで分かる使い方と設定のコツ共起語・同意語・対義語も併せて解説!
1067viws
差し込み印刷・とは?初心者でもすぐわかる使い方と仕組みガイド共起語・同意語・対義語も併せて解説!
1026viws
com端子・とは?初心者にも分かる基礎ガイド|シリアルポートの使い方と歴史を解説共起語・同意語・対義語も併せて解説!
928viws
充電アダプターとは何かを徹底解説|初心者でも分かる基本と選び方のコツ共起語・同意語・対義語も併せて解説!
895viws
全角文字とは?初心者向け解説|全角と半角の違いをやさしく学ぶ共起語・同意語・対義語も併せて解説!
831viws
7zファイル・とは?初心者でもわかる使い方と特徴を解説共起語・同意語・対義語も併せて解説!
830viws
pinロックとは?初心者が知っておくべき基本と使い方ガイド共起語・同意語・対義語も併せて解説!
793viws
リマインドメールとは?初心者にもわかる基本ガイドと使い方のコツ共起語・同意語・対義語も併せて解説!
781viws
none とは?初心者にもやさしく解説する意味と使い方ガイド共起語・同意語・対義語も併せて解説!
714viws
16進数カラーコード・とは?初心者でもつまずかない基礎と使い方ガイド共起語・同意語・対義語も併せて解説!
688viws
xlsmとは?初心者でも分かるExcelのマクロ付きファイルの基本共起語・同意語・対義語も併せて解説!
589viws
asp・とは?初心者向けに徹底解説する基本と使い方ガイド共起語・同意語・対義語も併せて解説!
569viws
ローカルポート・とは?初心者にも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
562viws
countifとは?初心者でもすぐ使える基本と応用ガイド共起語・同意語・対義語も併せて解説!
547viws
ワンタイムコード・とは?初心者でも分かる基本と使い方ガイド共起語・同意語・対義語も併せて解説!
513viws
csvダウンロードとは?初心者が今すぐ使える基本ガイド共起語・同意語・対義語も併せて解説!
491viws
sha256とは?初心者が知るべき暗号ハッシュの基礎と使い道共起語・同意語・対義語も併せて解説!
471viws
googleドキュメントとは?初心者が今日から使いこなす基本ガイド共起語・同意語・対義語も併せて解説!
468viws

新着記事

インターネット・コンピュータの関連記事