我需要在Spring上下文XML文件中定义一个由多个bean共享的字符串值.
我是这样做的:
<bean id="aSharedProperty" class="java.lang.String">
<constructor-arg type="java.lang.String" value="All beans need me :)"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
通过传递java.lang.String的构造函数参数来创建java.lang.String bean似乎是kludgy.
有捷径吗?
我知道可以使用PropertyOverrideConfigurer传递此属性,但我想将此属性保留在XML文件中.
mre*_*isz 24
您可以PropertyPlaceholderConfigurer在xml中使用和保留值:
<context:property-placeholder properties-ref="myProperties"/>
<bean id="myProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="aSharedProperty">All beans need me :)</prop>
</props>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
然后你引用它:
<bean id="myBean" class="my.package.MyClass">
<property name="someField" value="${aSharedProperty}"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
Kai*_*tsu 13
mrembisz提出的解决方案的简写如下:
<context:property-placeholder properties-ref="myProperties"/>
<util:properties id="myProperties">
<prop key="aSharedProperty">All beans need me :)</prop>
</util:properties>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24803 次 |
| 最近记录: |