应用程序上下文中

应用程序上下文中

可以说,我的 spring 应用程序上下文中有很多看起来像这样的东西

<bean name="foo.0001" class="com.example.MyClass">
    <property name="name" value="foo.name.0001"/>
    <property name="zap">
        <bean class="com.example.Other">
            <property name="name" value="foo.name.0001"/>
        </bean>
    </property>
    <property name="bar">
        <bean class="com.example.NextOther">
            <property name="name" value="foo.name.0001"/>
        </bean>
    </property>
</bean>

所以字符串 foo.name.0001 在 bean 定义中出现了几次。因为它是一个更大的系统,有几个这个配置的块,修改 每个 那些 id 是很烦人的。理想情况下,我只想在块 中将它设置一次 。是否有可能设置某种仅存在于 bean 定义的本地范围内的属性?

最佳答案

我不确定这在逻辑上是如何工作的,因为您仍然必须以某种方式引用该值才能将其传递给嵌套 bean。如果您担心多次定义它,您可以查看 Springs PropertyPlaceholderConfigurer 。它将允许您执行以下操作:

<property name="bar">
   <bean class="com.example.NextOther">
      <property name="name" value="${foo.name.001}"/>
   </bean>
</property>

这将允许您定义一次,并从多个位置引用它。

关于java - spring 应用程序上下文中的 "Recycling"名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/956668/

10-10 09:20