2017-05-05 94 views
1

我们正在使用Spring 1.3.5启动使用@PropertySource("file:C:/tmp/application.properties")它加载外部application.properties。下面是如何application.properties样子:春季启动1.3.5:application.properties内扩大变量文件

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

的代码能够看到/得到正确的值envinstance变数,但emailSubject变量是没有得到取代。当我们在代码打印出来,它显示

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

如何使emailSubject正确取代,以显示

"prod-EAST: An error occurred" 
+1

你确定你没有任何其他的配置,无论是春季或Maven /摇篮,可能与此干扰?据我所知,这应该是有效的。另外,你如何在代码中打印它? –

+0

Hi @ thomas-kåsene,对于迟到的回应感到抱歉。 1.项目中没有其他的.properties文件2.我们使用maven,所以我们有pom.xml,但是因此我不知道哪个库/属性可能会干扰这个? 3.我们的配置xml由Spring Batch使用 - 配置作业和另一个简单定义bean的配置xml - 但没有任何属性似乎与配置有关 – JavaTec

+0

对于打印,我们只是使用我们的配置类读取属性并在应用程序启动时打印它们(使用记录器)。所有简单的属性,如env,实例正在打印正确。但是电子邮件主题是没有做替换的。 – JavaTec

回答

1

不知道更多关于它是如何设置,看到的内容您发布的属性文件是有效的,我将不得不假设内容的读取或使用方式有问题。