Java

SpringBootの設定ファイルを外だしするには

2019年1月21日

このページに書いてあること。

JavaFrameWorkのSpringBootで@ConfigurationPropertiesによって設定ファイルの読み込みが簡素化できることは分かっていたが、業務アプリでよくある「warの外に設定ファイルを配置する」方法について、リマインダとしてメモ

  • @ConfigurationPropertiesで読み込む設定ファイルを外だしする
  • 外だしした設定ファイルにアクセスして読み込む

 

事の発端は、業務アプリにSpringBootを使用していた時のこと。

何のことはなく、設定ファイルの書き換えを容易にする(設定変更の度にビルドしたくない)ため、Tomcatの再起動でリロードできるように外だしにしようとした時、@ConfigrationPropertiesを使っていたので、どうやって設定ファイルのパスを指定するの?となって調べたお話。

 

非常に簡単です。

@PropertySource("classpath:application.properties")

を使うだけです。

propertyの配置場所を指定する@propertySourceアノテーションに、アプリのクラスパス配下にあるapplication.propertiesを読んで来いと指示してあげます。

そうすると、@ConfigurationProperties(prefix = "app")でいつも通り読み込むことができました。

Springの悪いところで、分かれば簡単なのですがアノテーションが多すぎて何と何がどんな動きをするのか分かりづらいというのは私が勉強不足なだけなのでしょうか。

 

蛇足ですが、Tomcatで起動する場合は、classpath配下にapplication.propertiesを追加する必要があります。

tomcatのクラスパスの編集はcatalina.shのCLASSPATHに、設定ファイルまでのフォルダパスを追加してあげればOKです。

###############お知らせ################
ブログランキングのITカテゴリに参加してみました。
この記事が役に立ったなどお力になれたら、 このバナーを押していただけると嬉しいです。

#####################################

-Java