반응형
@Component
가장 일반적인 형태의 어노테이션으로, 특정 역할에 종속되지 않는 일반적인 Spring bean을 나타낸다.
공통적인 기능을 제공하는 유틸리티 클래스나, 특정 계층에 속하지않는 일반적인 컴포넌트를 정의할 때 사용된다.
@Repository
데이터 엑세스계층의 bean을 의미한다.
@Service
비지니스 계층의 bean을 의미한다.
@Controller
프레젠테이션 계층의 bean을 의미한다.
Repository, Service, Controller 모두다 Component를 가지고있는 멀티 어노테이션이다.
그렇다면 각 어노테이션에 @Component를 사용할 순 없나?
정답은 불가능하지 않다. @Controller, @Service, @Repository 모두 @Component를 함유한 멀티 어노테이션이다.
하지만 이 세가지를 @Component로 대체할 시, 계층간의 명확성이 사라질 뿐만아니라 AOP에서 포인트컷의 장점을 잃게 되고,
@Repository의 계층의 경우 @DATAException같이 데이터에 대한 오류가 있을 시 @Component 로는 예외처리가 달라 질 수 있다.
반응형
'Spring' 카테고리의 다른 글
태태개발일지 -Spring(토비 님) (1) | 2024.12.18 |
---|---|
태태개발일지 - 어노테이션 (2) | 2024.12.09 |
태태개발일지 - Spring(토비님) (1) | 2024.12.05 |
태태개발일지 - Spring(토비님) (2) | 2024.12.01 |
태태개발일지 - Spring 시작 (토비님) 기본 복귀하기 (1) | 2024.11.26 |