小小问题 先谢过大神了

A类就一个属性name
public class A {
private String name ;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
B类继承A
public class B extends A{ }
在applicationContex.xml中 给A的name设定值AA 并设置B的parent为A:
<bean id="a" class="com.xxxy.ioc.A">
<property name="name" value="AA"></property>
</bean>
<bean id="b" class="com.xxxy.ioc.B" parent="a"></bean>
测试的时候
@Test 生成b 调用b.getName() 为什么会输出AA
public void fun(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
"applicationContext.xml");
B b = (B) applicationContext.getBean("b");
System.out.println(b.getName());
输出 “AA”
}
生成b 调用b.getName() 为什么会输出AA
这里spring生成的对象和我们自己写的java代码有什么不同
A a = new A();
a.setName("AA");
B b = new B();
b.getName(); 这肯定是没有值的
这完全是两个不相关的两个对象 为什么在spring中 却会有值?
------解决思路----------------------
spring 的这种继承,是继承配置,也就是,不是你想的那种java继承
<bean id="a" class="com.xxxy.ioc.A">
<property name="name" value="AA"></property>
</bean>
<bean id="b" class="com.xxxy.ioc.B" parent="a">
<!-- 继承a的配置 -->
<property name="name" value="AA"></property>
</bean>