더북(TheBook)

이 코드에서 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;
    }

}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.