1

私はSpringにかなり慣れていないので、2つのプロパティを持つBeanが必要です。2つ目は最初のプロパティを参照するインライン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を作成することはできません。これを達成するための最良の方法は何でしょうか?ありがとう!

4

2 に答える 2

1

私が考えることができる唯一の方法は、あなたの共通のプロパティのBeanを作成し、この共通のプロパティを両方で参照することBeanですAnotherBean-これがあなたの選択肢ではない理由は何ですか?

依存関係グラフのため、他の方法は機能しません。aBeanはAnother Beanに依存しているため、AnotherBean以前にインスタンス化aBeanされ、子Beanプロパティを参照できません。

この依存関係がなかった場合は、Spring-ELを使用してプロパティを参照できたはずです。

<property name="propertyThree" value="${aBean.propertyOne}"/>
于 2012-06-13T00:54:00.707 に答える
1

「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>
于 2012-06-13T07:41:36.810 に答える