Spring xml 动态 属性 占位符构造

Spring xml dynamic property placeholder construction

我想动态构造一个 属性 值表达式,如

<property name="server" value="#{'${host}' + {systemProperties['myEnv']}}" />

假设 属性 主机存在于 属性 文件 a 中,它的值为 'myserver.net' 并且系统 属性 myEnv 已设置为 'UAT' ,则此表达式的结果为 'myserver.netUAT'.

如果在串联后对整批进行评估,我希望如何。现在它正在查找 {host} 键然后附加 属性。我希望它查找密钥 ${host.UAT}

有没有可能实现这个。

这有效...

<util:properties id="props" location="foo.properties" />

<context:property-placeholder properties-ref="props" />

<bean id="foo" class="foo.Foo">
    <property name="foo" value="#{props['${host}' + systemProperties['foo']]}" />
</bean>