環境に依存するいくつかのプロパティが必要なマイクロサービスがあるため、application.yml、application-dev.yml、application-int.yml などを使用しています.....
起動時に私は合格spring.profiles.active=myprofile
し、関連するものapplicaiton-myprofile.yml
が一緒にロードされapplicaiton.yml
ます。これまでのところ、すべて正常に動作しています。
しかし、環境に固有ではないプロパティのいくつかを独自のビジネスモジュールに分類したいので、 application.yml applicaiton-.yml とともに、さらにいくつかの yml ファイルから spring にプロパティをロードしたいと考えていますENVIRONMENT
。そのため、正しい BusinessConfigProperties クラスを作成できます@ConfigurationProperties
。
これを達成するために、以下のように spring.config.location にそれらの yml ファイル名を追加しようとしました
spring:
config:
name:
- some-props
- very-different-name-props
location:
- classpath:/config/*
構成名も指定しました。すべての yml ファイルは /config フォルダーにあります。
しかし、これらのファイルに記載されているプロパティを読み取ることができません。
org.yaml.snakeyaml.Yml
YML マップを読み取ってクラスをインスタンス化するには定型コードが多すぎる abut でファイルを手動でロードすることで、これを克服できます。春でこれを達成する簡単な方法があるはずです。
アップデート
上記を更新しました。
spring:
config:
location:
- classpath:classpath:/config/some-props.yml,classpath:/config/very-different-name-props.yml
しかし、これも機能していません。プロファイルを使用していません。上記のファイルとともに、applicaiton-<profile>.yml
環境固有のプロパティが既にあるためです。そしてspring.profile.active
、起動時のjvm引数で環境名として渡します。また、これらのファイルに application-<added_profile>.yml で始まる名前を付けたくありません