【发布时间】:2011-01-01 18:21:40
【问题描述】:
假设我有一个 bean DialogBox,具有高度和宽度属性:
public class DialogBox {
int x;
int y;
...
}
在我的 applicationContext.xml 中,我会将属性定义为合理的默认值:
<bean id="dialogbox" class="DialogBox">
<property name="x" value="100"/>
<property name="y" value="100"/>
</bean>
我们有多个使用 dialogBox bean 的客户端,每个客户端都需要自定义的 x 和 y 值。我们讨论的一种方法是拥有多个属性文件,每个客户端一个,并将客户端 ID 映射到正确的文件,例如客户端 123 将映射到 dialogbox_123.properties:
dialogbox_123.properties:
x=200
y=400
然后在运行时请求 bean 时,spring 会查看是否存在客户端的自定义属性文件,并使用这些属性,否则使用默认值。我知道 PropertyOverrideConfigurer,但是 AFAIK 仅在上下文启动时才有效,因此不适用于我们的目的。春季是否有现有设施可以实现这一目标,或者有人可以推荐另一种方式吗?
【问题讨论】:
标签: spring properties