相关疑难解决方法(0)

在运行时将动态属性应用于Bean

假设我有一个Bean DialogBox,它具有高度和宽度的属性:

public class DialogBox {
 int x;
 int y;
 ...
}
Run Code Online (Sandbox Code Playgroud)

在我的applicationContext.xml中,我将属性定义为合理的默认值:

<bean id="dialogbox" class="DialogBox">
  <property name="x" value="100"/>
  <property name="y" value="100"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

我们有多个使用dialogBox bean的客户端,每个客户端都需要一个x和y的自定义值。我们讨论的一种方法是拥有多个属性文件,每个客户端一个属性文件,并将客户端ID映射到适当的文件,例如,客户端123将映射到dialogbox_123.properties:

dialogbox_123.properties:
x=200
y=400
Run Code Online (Sandbox Code Playgroud)

然后在运行时,当请求Bean时,spring将查看是否为客户端存在定制属性文件,并使用这些属性,否则使用默认值。我知道PropertyOverrideConfigurer,但是AFAIK仅在启动上下文时才起作用,因此对于我们的目的不起作用。春天是否有现成的设施可以实现这一目标,或者有人可以推荐另一种方式?

spring properties

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

properties ×1

spring ×1