더북(TheBook)

예제 3-1은 스프링 컨테이너가 클래스들과 그 의존성에 관한 정보를 어떻게 알아야 하는지를 보여준다. 이전 장에서 본 것처럼 XML 설정 파일을 통해 관련 정보를 알려줘야 한다. 이 XML 설정 파일에서는 스프링 컨테이너에 SearchEngine의 구현체가 “engine”이라는 ID를 가진 MySearchEngine 빈이라고 알리고 있다. 달리 말하면, 빈 정의에 식별자를 할당하고 있다. 또한 “documentType” 빈을 생성하여 Type 클래스의 새로운 인스턴스를 생성하고 있다.

그런데 잠깐! 빈이라고? 빈bean이 무엇을 의미할까? 자바 세계에서 빈은 자바 언어가 만들어졌을 때부터 존재해온 개념이다. 따라서 스프링 프레임워크 팀은 이와 동일한 명명 관계를 따르게 되었다. 자바 빈은 재사용 가능하고 다른 빈 및 클래스와 상호 작용할 수 있게 메서드 명명(set/get/is), 생성 그리고 동작과 같은 몇몇 관례를 따라야 한다. 이후 자바 커뮤니티에서는 자바 빈이 잘 알려진 POJOPlain Old Java Object로 변형되었다.

스프링 프레임워크는 선언된 모든 클래스를 컨테이너에서 인식, 생성, 주입, 상호 작용, 심지어 소멸시키기 위해 이러한 관례를 이용한다.

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