더북(TheBook)

이 예제로 알 수 있듯이, Singer 클래스의 main() 메서드는 ApplicationContext에서 child 빈과 parent 빈을 모두 가져와서 해당 프로퍼티의 내용을 콘솔에 출력합니다. 다음은 이 예제의 출력 결과입니다.

부모:
  이름: John Mayer
  나이: 39
자식:
  이름: John Mayer
  나이: 0

 

예상한 대로 child 빈은 name 프로퍼티의 값을 parent 빈으로부터 상속받았지만, age 프로퍼티의 값은 자신의 값을 제공했습니다.

자식 빈은 부모 빈에서 생성자 인수와 프로퍼티 값을 모두 상속하므로 빈 상속과 함께 두 가지 주입 방식을 모두 사용할 수 있습니다. 이러한 빈 상속은 여러 빈 정의를 사용해 애플리케이션을 개발할 때 아주 유용합니다. 공유 프로퍼티 값을 사용해 동일한 값의 빈을 여러 개 선언해야 할 때, 복사와 붙여넣기로 값을 공유하는 방식을 사용하지 말아야 합니다. 대신 구성에서 상속 계층 구조로 설정해야 합니다.

빈 구성을 상속할 때는 자바 상속 계층 구조와 일치시킬 필요가 없다는 사실을 기억하기 바랍니다. 동일한 타입의 다섯 개 빈에 대해서도 완벽하게 빈 상속을 할 수 있습니다. 빈 상속은 상속 기능보다 템플릿 작성 기능과 비슷하다고 생각하면 됩니다. 하지만, 자식 빈 타입을 변경하는 경우에 해당 타입은 부모 빈 타입을 상속해야 합니다.

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