application.ymlとクラスバインディング(@ConfigurationProperties)

今回は、application.ymlの設定情報をクラスにバインディングする方法について調べてみたいと思います。

ConfigurationProperties

application.ymlの設定情報をクラスにバインディングする時に使うアノテーションです。

@ConfigurationProperties(property名)

ConfigurationProperties Auto Binding

@ConfigurationPropertiesはいくつかの表記法に対してAuto Bindingしてくれます。

acme.my-project.person.first-namepropertiesと.ymlにお勧めしている方法です。 
acme.myProject.person.firstNameキャメルケース
acme.my_project.person.first_name.propertiesと .ymlで使える方法です( ハイフンの方が標準です。 )
ACME_MYPROJECT_PERSON_FIRSTNAMEシステム環境変数を使用している時にお勧めしています。

使ってみましょう

  • application.ymlに上記の情報(info)を作成します。
  • バインディングするクラスを作成します。
  • @Component:DIされるようにBeanを登録します。
  • @ConfigurationProperties(“info”):バインディングするプロパティ名を記載します。
  • @Data:他のクラスで参照できるようにするためにGetter、Setterを作成します。

  • 他のクラスで使用する場合は、上記のように記述して参照することができます(Getter、Setter)

終わりに

プロパティーとクラスのバインディングについて調べてみました。

間違っている部分もあるかと思いますので、参考としてみていただければと思います。

ありがとうございます。

コメントを残す