Annotation(어노테이션)
- 표준어는 '애노테이션'이지만, 보통 어노테이션이라고 많이 말함
- 현재 스프링 기반 어노테이션에는 XML에서 설정하는 방법과 어노테이션 기능을 사용하는 방법 두 가지를 혼합해서 사용함
- 현재 xml 방식을 사용중이면 xml에서 설정하고, java 방식을 사용중이면 java에서 설정
- 설정 파일을 대신 하는 것이 어노테이션(빈을 등록하고 생성하는걸 어노테이션이 하는거지, xml이나 java 역할을 다시 하는 것은 아님)
- 어노테이션을 쓰겠다는 설정은 xml이나 java에 해 주어야 함
- 어노테이션을 사용하는 것은 xml이던 java던 상관 없음
- xml : src>main>webapp>WEB-INF>spring>appServlet>servlet-context.xml
스프링 어노테이션 제공 클래스
클래스 | 기능 |
---|
DefaultAnnotationHandlerMapping | 클래스 레벨에서 @RequestMapping을 처리 |
AnnotationMethodHandlerAdapter | 메소드 레벨에서 @ReqeustMapping을 처리 |
< context:component-scan > 태그 기능(xml방식)
- 이 태그를 이용해 패키지 이름을 지정하면 애플리케이션 실행 시 해당 패키지에서 어노테이션으로 지정된 클래스를 빈으로 만들어줌
<context:component-scan base-package="패키지 이름" />
어노테이션 | 기능 |
---|
@Controller("빈 이름") | 스프링 컨테이너가 component-scan에 의해 지정한 클래스를 컨트롤러 빈으로 자동 변환 |
@Service | 지정한 클래스를 서비스 빈으로 자동 변환 |
@Repository | 지정한 클래스를 DAO 빈으로 자동 변환 |
@Component | 지정한 클래스를 빈으로 자동 변환 |
이러한 클래스들은 스프링 실행 시 자동으로 빈으로 생성됨