2016-09-06 88 views
2

当且仅当其他配置文件处于活动状态时,我想用Spring加载额外的.properties文件。例如。如果配置文件“foo”处于活动状态,我想加载foo.properties。这个伪代码是我想要的,假设“spring.profiles.active =默认情况下,富”:Spring:根据配置文件加载其他属性

<context:property-placeholder 
location="classpath:component.properties${(spring.profiles.active).contains('foo') ? ',classpath:foo.properties' : ''}" /> 

有没有办法在Spring做到这一点?

+1

我建议将Spring Boot添加到您的应用程序,该应用程序支持此开箱即用。 –

+0

我同意@ M.Deinum,但看到[这个答案](http://stackoverflow.com/questions/28191736/spring-xml-dynamic-property-placeholder-construction/28194233#28194233)它使用SpEL做一些事情通过'properties-ref'间接相似。只要把你的'util:properties'放在配置文件中即可。 –

回答

1

如果您没有在同一时间处理多个配置文件,则可以这样使用。

<context:property-placeholder location="classpath:${spring.profiles.active}.properties" /> 
+0

这就是我的问题,我确实有多个配置文件。 –

相关问题