이 코드에서 child 빈을 위한 <bean> 태그에서 parent라는 별도의 애트리뷰트를 볼 수 있는데, 이는 스프링이 parent 빈을 child 빈의 부모로 간주해 구성을 상속해야 함을 나타냅니다. ApplicationContext에서 부모 빈 정의를 룩업할 수 없게 하려면 parent 빈을 선언할 때 <bean> 태그에 abstract="true" 애트리뷰트를 추가할 수 있습니다. child 빈은 age 프로퍼티의 값을 설정했기 때문에 스프링은 이 값을 빈에 전달합니다. 하지만 child 빈은 name 프로퍼티에 값을 갖지 않으므로 스프링은 parent 빈에 주어진 값을 사용합니다.
Singer 빈은 아주 간단합니다.
예제 3-128 Singer 클래스([[bean-inheritance]] Singer.java)
package com.apress.prospring5.ch3.xml; public class Singer { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String toString() { return "\t이름: " + name + "\n\t" + "나이: " + age; } }