더북(TheBook)

4장 도서 쇼핑몰의 계층적 공통 모듈 구축에서 생성한 컨트롤러인 BookControllerWelcomeController, BookController와 의존 관계에 있는 자바 클래스인 저장소 객체 BookRepositoryImpl과 서비스 객체 BookServiceImpl은 서로 다른 패키지 경로에 있습니다. 이처럼 생성된 모든 컨트롤러 및 의존 관계에 있는 자바 클래스를 일일이 스프링 MVC 환경 설정 파일에 빈 객체로 등록해야 한다면 번거롭겠죠.

다음과 같이 <context:component-scan> 요소의 base-package 속성에 공통 패키지 com.springmvc.*를 설정하면 설정된 패키지 하위에 있는 컨트롤러 및 의존 관계에 있는 자바 클래스를 검색하여 빈 객체로 자동으로 등록합니다.

스프링 MVC 환경 설정 파일에 컴포넌트 스캔 적용

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/context  
                         http://www.springframework.org/schema/context/spring-context-4.0.xsd">
     ...
     <context:component-scan base-package="com.springmvc.*"/> // 컨트롤러의 빈 객체 등록
</beans:beans>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.