Spring基于XML的DI-同类抽象Bean
先看一段配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<bean id="xiaoming" class="com.hk.spring.di11.Student">
<property name="name" value="小明"/>
<property name="age" value="8"/>
<property name="school" value="红林小学"/>
<property name="department" value="语文课代表"/>
</bean>
<bean id="xiaohua" class="com.hk.spring.di11.Student">
<property name="name" value="小华"/>
<property name="age" value="7"/>
<property name="school" value="红林小学"/>
<property name="department" value="数学课代表"/>
</bean>
<bean id="xiaolin" class="com.hk.spring.di11.Student">
<property name="name" value="小林"/>
<property name="age" value="9"/>
<property name="school" value="红林小学"/>
<property name="department" value="英语课代表"/>
</bean>
</beans>
发现有很多冗余的地方,需要改进
改进
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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.xsd">
<!-- 抽取共性 abstract="true" 只能被继承,不能获取-->
<bean id="baseBean" class="com.hk.spring.di11.Student" abstract="true">
<property name="school" value="红林小学"/>
<property name="department" value="语文课代表"/>
</bean>
<!-- parent="baseBean"获取共性元素 -->
<bean id="xiaoming" parent="baseBean">
<property name="name" value="小明"/>
<property name="age" value="8"/>
</bean>
<bean id="xiaohua" parent="baseBean">
<property name="name" value="小华"/>
<property name="age" value="7"/>
</bean>
<bean id="xiaolin" parent="baseBean">
<property name="name" value="小林"/>
<property name="age" value="9"/>
</bean>
</beans>
好看多了,简洁了不止一点点