可以说,我的 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/