15

Spring のドキュメントの勉強を始めました。parent属性の説明に出くわしましたがparent、2 つの Bean 間で属性を使用することは、これらのクラス間の継承関係と同等ですか?

もしそうなら、メソッドのオーバーライドを実行する方法は? また、いくつかのコンテキストで、parentXML 構成ファイルの属性とextendsBean クラスのキーワードの両方の使用を見ました。継承を実装するには、両方のスプリングを指定する必要がありますか?

4

2 に答える 2

26
  • Spring では、parentin bean 構成は意味configuration inheritanceし、Java 継承とは関係ありません。
  • を使用configuration inheritanceすると、XML コードを繰り返し使用する必要がなくなるため、多くのコードを節約できます。

たとえば、属性を持つ次の Bean があります

Class MyBean {
    attrib1
    attrib2
    attrib3
    attrib4
} 

Bean の 1 つのインスタンスはbean1単に必要であるattrib1attrib2言い、別のbean2インスタンスは 4 つの属性すべてを必要とするとします。

これら2つのBeanを構成しましょう

<bean id="bean1" class="MyBean">
    <property name="attrib1" value="val1" />
    <property name="attrib2" value="val2" />
</bean>

<bean id="bean2" parent="bean1">
    <property name="attrib3" value="val3" />
    <property name="attrib4" value="val4" />
</bean>

bean2を構成するだけでよいことに注意してください。他の 2 つの属性は、から継承されます。attrib3attrib4bean1

あなたの質問に答えるには:

継承を実装するには、両方のスプリングを指定する必要がありますか?

いいえ。前述のとおり、これは Java 継承とは異なります。

于 2013-10-07T11:52:35.807 に答える