Spring Layered Architecture 구조
1) Presentation Layer
- Spring Mvc 객체를 말함
- 프론트 컨트롤러(DispatcherServlet), 컨트롤러, 뷰, 모델이 포함
2) Service Layer(Business Layer)
- 실제 비지니스 로직을 수행하는 컴포넌트
- 컨트롤러(presentation layer)에서 요청을 보내면 DAO를 이용해 실제로 비지니스 로직을 수행
- 보통 하나의 비지니스 로직은 하나의 트랜잭션으로 동작(ACID 특징 가짐)
3) Data Access Layer(Repository Layer)
- DB에 값을 저장하거나 가져오기 위해 JDBC, Mybatis, JPA 등을 사용해 구현한 DAO
Spring Layered architecture 동작 과정 예시
1.
Client 에서 요청이 들어오면 먼저 Presentation Layer 에서
DispatcherServlet 이 HandelerMapping
을 통해서 Controller 에게 Client 요청이 무엇인지 알리고,
Controller 는 Client 요청 처리를 Business Layer 에게 요구한다.