Spring MVC와 3 Layer Architecture

송민지·2024년 8월 22일

spring

목록 보기
2/4

3 Layer Architecture

  • 서버 개발 관점에서 각 계층별로 역할을 분리하는 개념입니다.

Presentaion layer

  • 사용자가 입력한 데이터의 형식이나 간단한 유효성 검사를 수행합니다.
    • 사용자가 입력한 요청이 유효한지 확인합니다
    • 사용자에게 요청받고, 데이터를 전달합니다.
  • @Controller, @RestController로 구현됩니다.

Business Logic layer

  • 어플리케이션의 핵심으로 presentation layer의 요청을 받아 필요한 데이터를 가공하거나 결과를 반환합니다.
  • presentation layer와 data access layer 사이에서 중간역할을 합니다.
  • @Service로 구현됩니다.

Data Access Layer

  • 데이터 베이스와 상호작용을 하여 데이터를 저장, 수정, 검색, 삭제하는 역할입니다.
  • @Repository로 구현됩니다.
  • Entity는 데이터 베이스 테이블과 매핑되어 데이터베이스에서 검색, 저장할때 데이터를 캡슐화 합니다.

Spring MVC

Model

  • 데이터 베이스 테이블을 구성하는 Entity 객체입니다.
    @Entity -> 이 어노테이션이 붙은게 맞습니다.

View

  • 사용자가 볼 수 있는 화면을 구성합니다.
  • 백엔드의 경우 클라이언트에 넘겨줄 Json을 구성하는 것으로 볼 수 있습니다.

Controller

  • 클라이언트에서 들어온 요청을 적절하게 처리하기 위해 Service layer를 호출합니다.
  • Service layer에서 반환받은 값을 적절하게 변환하여 클라이언트에 전달합니다.

가장 헷갈렸던 것은..

view가 service layer와 같다고 생각하였습니다.
더 자세하게 파고들어가보니 MVC는 웹 어플리케이션의 요청과 처리, 응답 생성을 담당하는걸 알게되었습니다.

3 layer architecture는 어플리케이션의 기능을 계층별로 나누어 하나의 모듈로 만듬으로써, 유지보수성과 확장성을 높히는데 목적이 있습니다.

profile
항상 밝게

0개의 댓글