是否有在 Spring 上下文 XML 文件中创建字符串常量的简写?

2024-03-27

我需要在 Spring 上下文 XML 文件中定义一个由多个 bean 共享的字符串值。

我就是这样做的:

<bean id="aSharedProperty" class="java.lang.String">
    <constructor-arg type="java.lang.String" value="All beans need me :)"/>
</bean>

通过传递 java.lang.String 的构造函数参数来创建 java.lang.String bean 似乎很笨拙。

有捷径吗?

我知道可以使用 PropertyOverrideConfigurer 传递此属性,但我想将此属性保留在 XML 文件中。


您可以使用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>

然后你用以下方式引用它:

<bean id="myBean" class="my.package.MyClass">
  <property name="someField" value="${aSharedProperty}"/>
</bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有在 Spring 上下文 XML 文件中创建字符串常量的简写? 的相关文章

随机推荐