자바 클래스의 빈 객체 설정하기
자바 클래스를 생성할 때 빈 객체를 자동으로 등록하려면 다음과 같이 설정해야 합니다.
<context:component-scan base-package="com.springmvc.controller"/>
<component-scan> 요소는 스프링 MVC에서 사용할 빈 객체를 일일이 XML에 등록하지 않아도 필요한 애너테이션을 자동으로 인식할 수 있게 합니다.
<component-scan> 요소를 사용하지 않으면 다음과 같이 @Controller가 선언된 HomeController 컨트롤러를 빈 객체로 등록해야 합니다. 또한 의존 관계가 있는 자바 클래스가 있다면 <bean> 요소를 이용하여 빈 객체를 일일이 등록해야 합니다.
<!-- Controller" -->
<beans:bean class="com.springmvc.controller.HomeController"/>
Note ≣ | context:component-scan 요소가 자동으로 인식하는 애너테이션
▼ 표 3-2 context:component-scan 요소가 자동으로 인식하는 애너테이션
애너테이션 |
설명 |
@Component |
특별히 역할 구분 없이 컴포넌트라고 알려 주는 역할을 합니다. |
@Repository, @Service, @Controller |
각각 DB 작업 관련, 서비스 관련, MVC 컨트롤러 컴포넌트를 의미합니다. 어떤 종류의 컴포넌트인지 알려 주는 역할을 합니다. |
@Required |
필수 프로퍼티임을 명시하는 데 사용합니다. |
@Autowired |
의존 관계를 자동 설정할 때 사용하며, 타입을 이용하여 의존하는 객체를 삽입해 줍니다. |
@Inject |
특정 프레임워크에 종속되지 않는 애플리케이션을 구성하는 데 사용합니다. |