我对 Spring 还很陌生,我需要一个具有两个属性的 bean——第二个是引用第一个属性的内联 bean。像这样的事情:
<bean id="aBean" class="com.sample.Bean">
<property name="propertyOne" value="something" />
<property name="propertyTwo">
<bean class="com.sample.AnotherBean">
<property name="propertyThree" ref="propertyOne />
</bean>
</property>
</bean>
使 propertyOne
成为它自己的 bean 在这里不是一个选项。实现这一目标的最佳方法是什么?谢谢!
最佳答案
我能想到的唯一方法是为您的公共(public)属性创建一个bean,并在Bean
和AnotherBean
中引用这个公共(public)属性 - 任何原因不适合您吗?
任何其他方法都行不通,因为依赖关系图 - aBean 依赖于另一个 Bean,因此 AnotherBean
将在 aBean
之前实例化,并且无法引用子 bean 属性。
如果没有这种依赖关系,您可以使用 Spring-EL 来引用该属性:
<property name="propertyThree" value="${aBean.propertyOne}"/>
关于java - 配置Spring Bean以重用其自己的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11006529/