1

コード:

<bean id="bean1" ...
 <property name="Utils">
...
</bean>

私はやりたい:

<bean id="bean2" ...
 <property name="Utils" ref="bean1.Utils"/>

春には可能ですか?それとも似たようなもの?ありがとう。

4

4 に答える 4

4

はい

<bean id="bean1" ...>
 <property name="Utils" ref="utilBean">
</bean>


<bean id="utilBean" ...>

<bean id="bean2" ...
 <property name="Utils" ref="utilBean"/>

両方ともシングルトンあり、プロパティのインスタンスが同じでutilBeanあるためbean1bean2Utils

于 2012-07-04T10:50:43.393 に答える
1

PropertyPathFactoryBeanを使用できます。http://static.springsource.org/spring/docs/2.5.x/reference/xsd-config.html#xsd-config-body-schemas-util-property-pathを参照してください。

<bean id="bean2" ...
  <property name="Utils">
    <bean id="bean1.Utils"
          class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>

これは、ゲッターがある限り、Springによって設定されていないbean1のプロパティを使用することもできます。

于 2012-07-04T11:13:01.937 に答える
1

Jigar Joshi答えが必要なものであると確信していますが、そうでない場合はSpELを使用できます。

<bean id="bean2" ...
 <property name="Utils" value="#{bean1.getUtils()}"/>

これは、bean1 がgetUtils()メソッドを公開することを前提としています。

これは正統的ではなく、通常は推奨される方法ではないことに注意してください。

于 2012-07-04T12:11:36.887 に答える
0

xml ベースのように定義できます。

<bean id="bean1">
 <property name="Utils" ref="bean2">
</bean>

Java に基づく注釈として。

@Autowired
Bean2 bean2;
于 2012-07-04T11:17:41.877 に答える