더북(TheBook)

예제 3-9는 SearchEngine의 구현체인 AnnotatedSearchEngine 클래스를 보여준다. 예제에서 볼 수 있듯이 @Service("engine")@Autowired 애너테이션을 사용하고 있다. 스프링 프레임워크는 @Service 애너테이션처럼 오직 마커marker 또는 스테레오타입stereotype인 여러 애너테이션(표 3-2 참고)을 지원한다. 이 애너테이션은 값(여기서는 "engine"으로, 컨테이너에서 id"engine"인 빈을 생성하고 해당 빈은 AnnotatedSearchEngine 클래스를 가리킨다는 의미다)을 가질 수 있다. 이는 XML 파일에 다음 태그를 두는 것과 같다.

 

<bean id="engine"

class="com.apress.isf.spring.annotated.service.AnnotatedSearchEngine" />

 

또한 @Autowired 애너테이션을 사용했다. 이 애너테이션은 스프링 컨테이너가 실제로 인스턴스를 생성하여 선언된 변수에 대입하도록 알린다. 이는 다음 설정과 같은 기능을 한다.

 

<property name="documentDAO" ref="documentDAO" />

 

결과적으로 AnnotatedSearchEngine 클래스는 다음 설정을 모두 포함하고 있는 것과 같다.

 

<bean id="engine"

class="com.apress.isf.spring.annotated.service.AnnotatedSearchEngine">

<property name="documentDAO" ref="documentDAO" />

</bean>

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