0

環境に依存するいくつかのプロパティが必要なマイクロサービスがあるため、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.YmlYML マップを読み取ってクラスをインスタンス化するには定型コードが多すぎる 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 で始まる名前を付けたくありません

4

1 に答える 1