더북(TheBook)

5.2.2 <context:component-scan> 요소로 컨트롤러 등록

스프링 MVC는 컨트롤러 역할을 하는 자바 클래스, 즉 @Controller가 선언된 컨트롤러를 여러 개 가질 수 있습니다. 웹에서 사용자 요청이 들어오면 디스패처 서블릿은 @Controller가 선언된 컨트롤러 여러 개를 스캔합니다. 이때 디스패처 서블릿이 모든 컨트롤러를 인식할 수 있도록 컨트롤러는 물론, 컨트롤러와 의존 관계에 있는 자바 클래스들을 스프링 MVC 설정 파일(servlet-context.xml)에 빈 객체로 등록해야 합니다.

하지만 하나씩 등록하려면 번거롭습니다. 이처럼 하나씩 등록해야 하는 번거로움을 해결한 것이 컴포넌트 스캔(<context:component-scan>)입니다. 형식은 다음과 같습니다.

<context:component-scan base-package="패키지 이름"/>
컴포넌트(@Controller, @Autowired...) 자동 인식 기능 지원

<context:component-scan> 요소를 이용하면 @Controller가 선언된 컨트롤러를 빈 객체로 자동으로 등록할 뿐만 아니라 의존 관계에 있는 자바 클래스도 빈 객체로 자동 등록합니다.

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