spring的bean的继承

父类Dao:

public class CommonDao {
	private String a;

	public void saveEntity() {
		System.out.println("saveEntity----");
	}

	public String getA() {
		return a;
	}

	public void setA(String a) {
		this.a = a;
	}

}

子类Dao:

public class PersonDao extends CommonDao {
	
}

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:context="http://www.springframework.org/schema/context"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-2.5.xsd">
            
            
		<!-- 当一个bean标签中设置了abstract="true",则表示这个类不能被创建对象 -->
		<bean id="commonDao" class="com.xxc.spring.exetend.CommonDao" abstract="true">
			<property name="a" value="xxc"></property>
		</bean>
		<!-- 如果personDao在继承commonDao的同时想拥有commonDao里的属性值的时候,需要在子类的bean中配置 parent="commonDao",否则拿父类的属性为null -->
		<bean id="personDao" class="com.xxc.spring.exetend.PersonDao" parent="commonDao"></bean>		
</beans>





测试类:

public class TestExtend {
	@Test
	public void testExtend(){
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		PersonDao personDao = (PersonDao)applicationContext.getBean("personDao");
		System.out.println(personDao.getA());//如果想拥有父类的属性,那么在子类的bean标签中必须配置parent属性
		personDao.saveEntity();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值