我如何逃避":"在Spring PropertyPlaceHolder中

时间:2018-03-02 15:03:41

标签: spring property-placeholder

我需要指定一个可选的jvm参数,如:

 @PropertySource({ "${config.file:classpath:config-file.properties}" })

但由于第二个" :"它不起作用。

有人可以帮助我吗?

上下文:Spring 3.12。

1 个答案:

答案 0 :(得分:0)

我认为,由于巧合我的依赖是来自“classpath:”,它可以通过以下方式工作:

@PropertySource({ "${config.file:config-file.properties}" })

Spring假定如果PropertySource或一般任何spring资源被指定为没有protocol作为“file:”或另一个,那么资源是相对于类路径的。

所以我可以将属性设置为“-Dconfig.file = another-one.properties”,或者如果我不提供此属性,则默认值为“config-file.properties”,相对于类路径,我想要的。

这解决了我现在的问题。

我希望Spring 4可以解析许多其他帖子上写的“:”解析器。