코딩항해기
[Spring] @어노테이션 의존성 주입 (Repository, Service, Controller) 본문
지난번에 의존성 주입 어노테이션 중 Component에 대해 정리했다.
컨테이너가 관리하는 객체라는 것을 알려주는 가장 기본적인 어노테이션이기 때문에, 전부 Component를 사용할 수도 있다. 그러나 용도에 따라 별도의 어노테이션으로 구분짓는 것이 명시적으로 나타내기 좋기 때문에 구분해서 사용한다.
즉, 세 어노테이션 모두 Component의 역할(컴포넌트 스캔 가능/컨테이너 Bean 등록)을 수행한다.
@Repository
Persistence/Data Access Layer
Repository는 DB에 접근하는 코드라는 의미로 일반적으로 DAO에 많이 사용된다. 실무에서는 DAO라는 표현을 잘 적어두지 않기 때문에 Repository 어노테이션으로 이 객체가 DAO라는 것을 알 수 있다.
@Service
Business Layer
DB에 접근하는 코드는 Repository에 위임하며 비즈니스 로직과 관련된 모든 코드에 사용한다. ServiceImpl 객체에 사용된다.
@Controller
Spring MVC Presentation Layer
클라이언트로 부터 요청이 왔을 때, dispatcherservlet이 handleradapter를 통해 컨트롤러를 찾기 위해 '컨트롤러' 역할을 한다고 명시할 수 있는 어노테이션이다.
'Spring' 카테고리의 다른 글
[Spring] springframework.HandlerMapping 구조 (0) | 2024.10.07 |
---|---|
[리뷰/우아한테크] Spring vs Spring Boot (0) | 2024.10.06 |
[Spring] @어노테이션 의존성 주입 (Component, Autowired, Qualifier) (0) | 2024.10.04 |
[Spring] xml Bean을 통한 의존성 주입 (CI, SI) (2) | 2024.10.02 |
[Spring] Spring 컨테이너 Bean 기초 설정 (xml 방식) (0) | 2024.10.01 |