Spring中的bean之间的继承和一般的po类继承是不一样的,他们之间的继承不能简单的使用extends关键字来实现
bean之间的继承需要在xml配置文件中配置
bean继承实例:/h5>
//子类
public class Test {
private String msg1;
private String msg2;
private String msg3;
public String getMsg1() {
return msg1;
}
public void setMsg1(String msg1) {
this.msg1 = msg1;
}
public String getMsg2() {
return msg2;
}
public void setMsg2(String msg2) {
this.msg2 = msg2;
}
public String getMsg3() {
return msg3;
}
public void setMsg3(String msg3) {
this.msg3 = msg3;
}
}
//父类
public class ParentTest {
private String msg1;
private String msg2;
public String getMsg1() {
return msg1;
}
public void setMsg1(String msg1) {
this.msg1 = msg1;
}
public String getMsg2() {
return msg2;
}
public void setMsg2(String msg2) {
this.msg2 = msg2;
}
}
//xml配置文件
<!-- 继承的配置 -->
<bean id="test" class="org.spring.extendTest.Test" parent="parentTest">
<property name="msg1" value="test1" />
<property name="msg3" value="test3" />
</bean>
<bean id="parentTest" class="org.spring.extendTest.ParentTest">
<property name="msg1" value="pptest1" />
<property name="msg2" value="pptest2" />
</bean>
//测试主程序
public class TestMain {
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
Test parentTest = context.getBean("test",Test.class);
System.out.println("msg1->"+parentTest.getMsg1());
System.out.println("msg2->"+parentTest.getMsg2());
}
}