Controller, Service, Repository 란?

스프링의 계층은 Presentation Layer, Business, Layer, Data Access Layer 크게 3개로 나눌 수 있다.
Presentation Layer
- 브라우저 상의 웹 클라이언트 요청 처리, 응답 전송
- @Controller 어노테이션을 사용하는 Controller 클래스가 이 계층에 속함
- 서비스 계층 데이터 액세스 계층에서 발생하는 Exception을 여기서 처리
Service Layer
- 애플리케이션 비즈니스 로직 처리와 비즈니스와 관련된 도메인 모델의 적합성 검증
- 트랜잭션 관리
- 프레젠테이션 계층과 데이터 엑세스 계층 사이를 연결하는 역할로서 두 계층이 직접적으로 통신하지 않게 함
- Service 인터페이스와 @Service 어노테이션을 사용하여 작성된 Service 구현 클래스가 이 계층에 속함
Data Access Layer
- ORM 을 주로 사용하는 계층
- DAO interface 와 @Repository 어노테이션을 사용하여 작성된 DAO 구현 클래스가 이 계층에 속함
- DB에 데이터 CRUD
도메인 모델 계층