web-dev-qa-db-ja.com

Spring Bootのapplication.ymlとapplication.properties

私のプロジェクトでは、現在application.ymlを構成に使用しています。 Spring Initializrはapplication.propertiesを生成しますか?それぞれの長所と短所は何ですか?

37
cupakob

まあ、それらは単なる異なるデータ形式です。読みやすく読みやすいのはどれですか?それは明らかに主観的です。 こちら 便利なブログ投稿。

spring-boot構成に関する限り、YAMLを使用することについての文書化された欠点は1つしかありません。 ドキュメント

YAMLファイルは@PropertySourceアノテーションを介してロードできません。そのため、そのように値をロードする必要がある場合は、プロパティファイルを使用する必要があります。

44
YoungSpice

注目すべき違いの1つは、各ファイルでのプロパティの表示方法です。 YAMLファイルでは、一貫性のあるスペースを使用して階層を表すことができますが、プロパティファイルでは=を使用してプロパティ値を表すことができます。

例えば.

リストはYAMLで階層的に表されます:

ヘッダー:

  - user-agent
  - x-wag-diagonalsize

リストは、プロパティファイル内のインラインリスト(カンマ区切り)として表すことができます。

ヘッダー=ユーザーエージェント、x-wag-diagonalsize

もう1つの違いは、複数の設定ファイルを単一のyamlファイルに追加できることです。

たとえば、application.yaml(アプリケーション固有のプロパティ)とbootstrap.yaml(サーバー固有のプロパティ)を単一のconfig.yamlファイルに追加できます

1
Parthiban