2017-05-05 16 views
1

私たちは、@PropertySource("file:C:/tmp/application.properties")を使用して外部application.propertiesをロードするSpring Boot 1.3.5を使用しています。ここでapplication.propertiesがどのように見えるかです:Springブート1.3.5:application.propertiesファイル内で変数を拡張する

env=prod 
instance=EAST 
emailSubject=${env}-${instance}: An error occurred 

コードは/ envinstance変数の正確な値を得る見ることができますが、emailSubject変数が代入取得されていません。私たちは、コードでそれを印刷するとき、それはemailSubjectが正しくそれがセットアップされたかについて多くを知っている、との内容として見ず

"prod-EAST: An error occurred" 
+1

SpringやMaven/Gradleのいずれの設定でも、これを妨害している可能性はありますか?私が知る限り、これはうまくいくはずです。また、どのようにコードで印刷しますか? –

+0

こんにちは@トーマス - kåsene、遅く応答して申し訳ありません。 1.プロジェクトには他の.propertiesファイルはありません。2. mavenを使用していますので、pom.xmlがありますが、どのライブラリ/プロパティがこれを妨害しているのかわかりません。 3. Spring Batchで使用されているconfig xmlを持っています - ジョブを設定するため、単にBeanを定義する別のconfig xml - コンフィグレーションに関連するプロパティはありません – JavaTec

+0

印刷に関しては、単にconfigクラスを使用しています。アプリケーションの起動時にプロパティを読み取り、それらを(ロガーを使用して)印刷します。 env、instanceのような単純なプロパティはすべて正しく印刷されています。しかしemailSubjectは置換をしないものです。 – JavaTec

答えて

1

を表示するように置換させるためにどのよう

"${env}-${instance}: An error occurred" 

を示し投稿したプロパティーファイルが有効であるため、コンテンツの読み込み方法や使用方法に問題があると想定する必要があります。

関連する問題