[Spring] Stereotype Annotation 용도

정보는 스프링 3.0 document를 참고 하였으며

오역?이 있을지도 모르니 원문을 참고 하시면 정확하고 많은 정보를 얻어가실 수 있습니다.
이렇게 긴 글을 친절하게 stackoverflow 에 누군가 요약 해놓았습니다.

오늘은 스프링의 stereotype 어노테이션의 용도와 역사가 무엇인지에 대해 알아 보겠습니다.

일단 stereotype 이라는 사전적인 의미는 다음과 같습니다.

명사 : 고정관념, 정형화된 생각

동사 : 정형화하다.

ㅇ 본문 내용 요약

* 용도가 불문명한 컴포넌트 클래스를 위한 어노테이션

@Component :

Spring 2.5부터 등장.

스프링이 관리하는 컴포넌트라는 표시

* 용도가 분명한 컴포넌트 클래스를 위한 어노테이션 (Component와는 다르게 용도를 표시하기 위해 구별 한다고 합니다.)

@Repository :

Data Acess Object 역할을 하는 class에 표시하기 위해 spring 2.0에서 등장하였습니다.

등장한 이유는 JPI(Java Persistence API)의 Exception을 해석(Translation)하기 위한 용도 입니다.(automatic exception translation in your persistence layer)

보다 자세한 설명은 링크을 참고 하시기 바랍니다.

@Service :

Spring 2.5부터 등장.

용도 : Service Layer 표시.

@Controller :

Spring 2.5부터 등장.

용도 : Presentation Layer 표시.

용도 구분해서 사용한다면 어노테이션 종류 별로 Exception translation, 전후처리 등을 커스터마이징 처리 할 수 있을 것 같습니다. ^^

오늘은 여기까지 : )

Advertisements