私たちはよく@ConfigurationPropertiesを使ってカスタム設定を注入しますが、設定ルールが複雑な場合、複数のクラスを定義して設定をマッピングする必要があることがあります。このとき、これらのクラスを単独で定義するか、内部クラスとして定義するかという問題に直面します。
私は内部クラスを使用することを選びました。理由は、管理とメンテナンスが容易だからです。
内部クラスの方法を使用しているときに、設定が注入できないという問題が発生しました。ネットで色々と調べましたが、うまくいきませんでした。その後、Datasourceの設定が比較的複雑な設定であることを思い出し、どのように実装されているかを確認しました。すると、このような方法で定義する場合、内部クラスをpublic staticとして定義する必要があることが分かりました。