我开始研究Spring文档.我遇到parent属性解释,parent两个bean之间使用属性是否相当于这些类之间的继承关系?
如果是这样,如何执行方法覆盖?我还在某些上下文中看到,parent在XML配置文件中使用属性和extends在bean类中使用关键字.是否需要指定两个弹簧才能实现继承?
San*_*osh 22
parentin bean配置表示configuration inheritance与Java继承无关.configuration inheritance重复使用XML代码时,可以节省大量代码.例如,您有以下带有属性的bean
Class MyBean {
attrib1
attrib2
attrib3
attrib4
}
Run Code Online (Sandbox Code Playgroud)
假设bean的一个实例说bean1需要attrib1,attrib2而另一个bean2实例需要所有四个属性.
让我们配置这两个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>
Run Code Online (Sandbox Code Playgroud)
请注意,bean2只需要配置attrib3和attrib4.其他两个属性继承自bean1
回答你的问题:
是否需要指定两个弹簧才能实现继承?
不.如前所述,这与java继承不同.
不......他们彼此无关.
父bean定义可以被视为其他bean(不必具有任何关系)的模板形式.想象一下,你有3个bean共享/需要一个用户名/密码/ url配置,然后你可以创建一个定义所有这些属性的父bean.这减少了您的配置工作(您不必复制所有bean定义中的属性).