最近、「奇妙な」Spring の動作に遭遇しました。これは、予想される動作なのかバグなのかわかりません。
私は2つの春のファイルを持っています:
FileA.xml
<bean id="AbstractParent" class="com.classes.MyAbstractClass" abstract="true"/>
<bean id="ConcreateChild parent="AbstractParent" />
FileB.xml
<import resource="FileA.xml"/>
<bean id="AnotherChild" parent="AbstractParent" />
<bean id="ConcreateChild" parent="AnotherChild"/>
「ConcreateChild」への参照を持つ 2 つの異なるオブジェクト (BeanNameAware を実装する) もあります。両方のオブジェクトが同じ ConcreateChild オブジェクトへの参照を持つことを期待していました。しかし、そうではありません。
デバッグして BeanName を表示しようとすると、1 つの参照が "ConcreateChild" (予想どおり) を提供していますが、もう 1 つの参照は "AnotherChild" を提供しています。
これが予想されるかどうかは誰にもわかりますか?「ConcreateChild」への同じ参照が常に期待されます。
Spring のドキュメントに回答や説明が見つからなかったため、ここに投稿しました。
ありがとう。