, bu parça
<bean id="base" abstract="true">
<property name="foo" ref="bar"/>
</bean>
<bean class="Wallace" parent="base"/>
<bean class="Gromit" parent="base"/>
az ya da çok eqivalent (ilkbaharda soyut fasulye bir class
gerekmez çünkü yapay Base
sınıf oluşturulmuş unutmayın) bu kodu şudur:
public abstract class Base {
@Autowired
protected Foo foo;
}
@Component
public class Wallace extends Base {}
@Component
public class Gromit extends Base {}
Wallace
ve Gromit
artık ortak Foo
özelliğine erişim hakkına sahiptir. Ayrıca bunu geçersiz kılabilirsiniz, ör. @PostConstruct
.
BTW XML'de parent
özniteliğini sevdim, bu da fasulye KURUYU tutmasına izin verdi, ancak Java yaklaşımı daha temiz görünüyor. Bu Yapabilirdim budur
- (Bileşen-tarama enjekte edildi, bir potansiyel Uygulanması İçin context.xml-bildirimiyle Fasulye kullanılan genel bir özet ebeveyn Sınıfı)
sadece devralma kullanamaz mıyız? Baz sınıfında otomatik kablolama aynı şekilde çalışacaktır. –
@Tomasz Nurkiewicz xml olarak tanımlanmış bir üst ana fasulyem var (bazı özelliklerin "varsayılan" değerlerine ayarlanmış). Bu değiştirebileceğim bir şey değil. – IAdapter
Fikrimi daha fazla açıklamak için bir cevap ekledim. İhtiyaçlarınıza uymaması için biraz daha fazla detay verebilir misiniz? XML'de ebeveyn tanımını neden değiştiremezsiniz? Korkarım ki ebeveynin ek açıklamalara başvurması mümkün değildir ... –