Spring MVC 패턴

5w31892p·2022년 12월 9일
0

Spring

목록 보기
3/30

📜 Spring 입문 과제 관련

:: MVC 패턴 (Model-View-Controller)

  • 3가지 형태로 역할 나눠 개발하는 방법론

Model

  • 어플리케이션이 무엇을 할 것인지 정의
  • DB와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터 다룸

View

  • 시각적으로 보여주는 부분

Controller

  • Model이 데이터를 어떻게 처리할지 알려주는 역할


:: Controller

  • MVC패턴에서의 Controller 역할
  • 사용자 요청 진입 지점
  • 요청에 따라 어떤 처리를 할지 결정을 Service에 넘겨줌

:: Service

  • 알맞은 정보 가공 과정(비즈니스 로직 수행)
  • Controller에서 넘어온 요청을 알맞게 가공해 Controller에게 다시 넘겨줌
  • DB가 필요할 때에는 repository에 요청
  • 프로젝트 규모가 클수록 service 내용 비대해짐

:: Repository (dao)

  • Entity에 의해 생성된 DB에 접근하는 메서드 들을 사용하기 위한 인터페이스
  • DB 연결, 해제, 자원 관리
  • CRUD 작업처리
  • JpaRepository 상속

:: Controller, Service, Repository 전체구조


:: DAO & DTO & Entity

:: DAO (Data Access Object) - repository package

  • 실제 DB에 접근하는 객체
  • 쉽게 말해서 Mysql 서버에 접근하여 SQL문을 실행할 수 있는 객체
  • Service와 DB 연결
  • SQL을 사용해 (개발자가 직접 코딩) DB에 접근한 후 적절한 CRUD API 제공

:: DTO (Data Transfer Object) - dto package

  • 계층간 데이터 교환을 위한 객체
  • 즉, DB에서 데이터 얻어 service 나 controller 등으로 보낼 때 사용하는 객체
  • 로직없는 순수한 객체, getter와setter 메소드만 소유
  • DB에서 꺼낸 값 임의 변경 필요 없기 때문에 setter 없음

:: Entity Class - domain package

  • 실제 DB 테이블과 매칭될 클래스

:: 패키지 전체구조

0개의 댓글