Spring中的父子Bean

Spring的父子Bean出现,我估计是会了有效的减少Spring上下文定义文件里冗余的XML.直白一点,就是对原来的Bean进行继承与扩展,这样就原有Bean中的定义就不用再继承的Bean里重新写一遍啦。

为了支持这种特性,Bean元素提供了两个特殊的属性:

parent:指明继承的父类Bean的id

abstract:如果设置为true,就表示bean的声明是抽象的,Spring不能对其进行实例化,只是用来供其他Bean进行扩展的,但也可以设置为假,这时父Bean也可以实例化。

测试源代码:

//一个普通的JavaBean
public class Person {
	//人的名字
	private String name;
	//这个人要说的话
	private String sentence;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSentence() {
		return sentence;
	}
	public void setSentence(String sentence) {
		this.sentence = sentence;
	}
	
}

配置文件如下:

	<bean id="test" abstract="true" class="com.pp.Person">
		<property name="Sentence" value="Hello Spring"></property>
	</bean>
	<bean id="kev" parent="test">
		<property name="Name" value="kev"></property>
	</bean>
	<bean id="dol" parent="test">
		<property name="Name" value="dol"></property>
	</bean>

对上面代码进行测试:

	BeanFactory factory=new XmlBeanFactory(new ClassPathResource("person.xml"));
	Person kev=(Person)factory.getBean("kev");
	System.out.println(kev.getSentence());
	Person dol=(Person)factory.getBean("dol");
	System.out.println(dol.getSentence());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值