我有一个弹簧上下文配置。在此配置中,我有以下属性占位符:
<context:property-placeholder location="classpath:my_prop_file.properties,
classpath:my_prop_file-${envTarget}.properties" ignore-resource-not-found="true"/>
我的想法是,所有属性都在my_prop_file.properties中设置,而在其他属性文件中我只覆盖一些(my_prop_file-env1.properties,my_prop_file-env2.properties等)。 这很好用。问题是我在启动时省略了vm参数-DenvTarget。有没有办法默认它?如果未设置该值,我会收到:
Could not resolve placeholder 'envTarget' in string value
答案 0 :(得分:0)
您可以创建一个空的my_prop_file-local.properties文件,并修改属性占位符定义以包含envTarget的默认值。
<context:property-placeholder
location="classpath:my_prop_file.properties, classpath:my_prop_file-${envTarget:local}.properties"
ignore-resource-not-found="true"/>