2017-12-29 21 views
0

Spring BootでプロパティをPOJOにバインドするにはどうすればよいですか?POJO(@ConfigurationPropertiesスタイル)へのプロパティのバインド

  • POJOクラスは第三者のライブラリクラスです。@ConfigurationPropertiesをそこに配置することはできません。
  • 同じクラスのインスタンスが複数存在する可能性があります。プロパティ名の接尾辞は省略されています。
  • Beanとして登録する必要はありません。ほとんどの場合、インスタンスは実行時に作成されます。
  • 検証、書式付き解析、リラックスした名前、コレクション、ネストされたクラス、接頭辞/接尾辞のサポート、不明なプロパティは無視されます。

私はDataBinderのようないくつかのユーティリティクラスを知っていますが、それはおそらくもっと速い方法です。 ありがとうございます。

答えて

0

あなただけのサードパーティ製のPOJOを拡張し、次のように独自のクラスに@ConfigurationPropertiesを追加することができます。

@ConfigurationProperties(prefix = "myNamespace") 
@Component 
public class CustomProperties1 extends ThirdPartyProperties { 

} 

その後、あなたはmyNamespace.propertyName=valueのような特性を持つサードパーティのPOJOのすべてのプロパティを設定することができます。

しかし、あなたは設定プロパティの名前を制御しないので、この方法には注意が必要です。第三者のライブラリでフィールド名が変更されると、設定パラメータはバインドされなくなります。

関連する問題