Spring 环境特定属性
Spring environment specific properties
我有一个 spring 上下文配置。在此配置中,我有以下 属性-placeholder:
<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
您可以创建一个空的 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"/>
我有一个 spring 上下文配置。在此配置中,我有以下 属性-placeholder:
<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
您可以创建一个空的 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"/>