可以设置 <bean> 的abstract 属性为 true, Spring 不会实例化该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-2.5.xsd"> <!-- 抽象bean,专门为继承用。通过继承,parent对象、child对象将base的属性及属性值都继承下来了 --> <bean id="base" abstract="true"> <property name="id" value="1"/> <property name="name" value="tom"/> </bean> <bean id="parent" parent="base" class="cn.itcast.spring.inherit.Parent"/> <bean id="child" parent="base" class="cn.itcast.spring.inherit.Child"> <property name="age" value="25"/> </bean> </beans>
public class Parent { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
public class Child { private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }