TIL - Spring 입문(1)

김지현·2023년 4월 14일
0

항해99

목록 보기
9/16

2023-04-14


MVC 패턴

( Model - View - Controller )

  • Model : DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다룸
  • View : 시각적으로 보여주는 부분
  • Controller : Model이 데이터를 어떻게 처리할지 알려주는 역할

서로 분리하여 각자 맡은 역할에만 집중할 수 있도록 함

  • 유지보수 용이
  • 확장성, 유연성 증가
  • 중복코딩 방지

패키지 구조

Client <-Dto-> Controller <-Dto-> Service <-Dto-> Repository <-Entity-> DB

Entity

  • DB의 테이블에 존재하는 Column들을 필드로 가지는 객체
    테이블에 없는 칼럼을 필드로 가질 수 없음

DTO

( Data Transfer Object )

  • 데이터를 이동하기 위한 객체

사용하는 이유

Entity 객체를 그대로 사용하지 않고 굳이 DTO를 사용하는 이유는
1. 역할 분리
2. Entity 객체 데이터의 변질을 피하기 위함
3. View와 통신하는 DTO는 값이 추가되거나 삭제되는 변경 등이 많기 때문
등으로 정리할 수 있음

Controller

  • Client의 요청을 DTO의 형태로 받아 Service의 기능을 호출하고, 적절한 응답을 DTO 형태로 반환하는 역할

Service

  • DTO를 통해 받은 데이터를 이용해 비즈니스 로직을 처리하고 Repository를 통해 DB에 접근하여 데이터를 관리하는 역할

Repository

  • JPA를 사용하면 Repository를 통해 DB에 접근할 수 있음
    Service와 DB를 연결해주는 역할

DAO

( Data Access Object )

  • 실제 DB에 접근하는 객체
    JPA의 Repository와 비슷함

0개의 댓글

관련 채용 정보