Java 配置Springbean以重用它自己的属性?

Java 配置Springbean以重用它自己的属性?,java,spring,Java,Spring,我是Spring的新手,需要一个具有两个属性的bean——第二个属性是引用第一个属性的内联bean。大概是这样的: <bean id="aBean" class="com.sample.Bean"> <property name="propertyOne" value="something" /> <property name="propertyTwo"> <bean class="com.sample.AnotherBe

我是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>


我能想到的唯一方法是为您的公共属性创建一个bean,并在
bean
AnotherBean
中引用此公共属性-您为什么不选择此选项

任何其他方法都不起作用,因为依赖关系图-aBean依赖于另一个Bean,因此
AnotherBean
将在
aBean
之前实例化,并且将无法引用子Bean属性

如果没有此依赖项,您可以使用Spring EL来引用属性:

<property name="propertyThree" value="${aBean.propertyOne}"/>

您可以将“propertyOne”创建为一个单独的bean。

从aBean和内联bean中引用它

<bean id="propertyOne" class="java.lang.String">
    <constructor-arg><value>"blabla"</value></constructor-arg>
</bean>

<bean id="aBean" class="com.test.SimpleBean">
<property name="name" ref="firstProperty" />
<property name="newBean">
    <bean class="com.test.OtherSimplwBean">
        <property name="otherName" ref="propertyOne" />
    </bean>
</property>

“布拉布拉”

感谢您的回复。不幸的是,正如我在问题中提到的,这将不是我的应用程序中的一个选项。这就是我解决问题的方法。我曾希望Spring提供一个更优雅的解决方案,但是,如果我正在开发的应用程序只有Spring的一半优雅,那么我就不会有这个问题。