스프링 프레임워크 첫걸음_week 8

tth-k·2023년 11월 27일
post-thumbnail

9장 애플리케이션 만들기(OX퀴즈)

9-1 애플리케이션 설명

기능 목록

  1. 작성 할 기능 목록

    NO기능설명
    1등록퀴즈를 등록
    2갱신등록된 퀴즈를 갱신
    3삭제등록된 퀴즈를 삭제
    4목록 표시등록된 퀴즈의 목록 표시
    5게임퀴즈 게임 실시

  2. URL 목록

    NO역할HTTP메서드URL
    1퀴즈 목록 표시GET/quiz
    2등록 처리 실행POST/quiz/insert
    3갱신 화면을 표시GET/quiz/{id}
    4갱신 처리를 실행POST/quiz/update
    5삭제 처리를 실행POST/quiz/delete
    6퀴즈 화면을 표시GET/quiz/play
    7퀴즈 답 체크POST/quiz/check

예제 애플리케이션의 레이어

  1. 애플리케이션 레이어
    • 클라이언트에서 받은 요청을 제어하고 도메인 레이어를 사용하여 애플리케이션을 제어

  2. 도메인 레이어
    • 도메인 객체에 대해 애플리케이션의 서비스 처리를 실행

  3. 인프라스트럭처 레이어
    • 도메인 객체에 대해 CRUD 조작을 해서 데이터의 영속화(데이터를 영구 저장하는)를 담당

레이어별 컴포넌트 설명

  • 애플리케이션 레이어
  1. Controller

    • 요청을 처리에 매핑하고 결과를 뷰에 넘겨주는 제어를 한다.
    • 주요 처리는 Controller 안에서 실행하지 않고 '도메인레이어'의 Service를 호출한다.

  2. Form

    • 화면의 폼을 표현한다.
    • 화면에서 입력한 값을 Controller에 넘겨준다.
    • 또한 Controller에서 화면에 결과를 출력 할 때도 사용한다.
    • 도메인 레이어가 애플리케이션 레이어에 의존하지 않도록 Form에서 도메인 객체로 변환하거나 도메인 객체에서 From으로 변환하는 것을 애플리케이션에서 수행해야 한다.

  3. View

    • 화면 표시를 담당한다.

  • 도메인 레이어
  1. 도메인 객체
    • 서비스 처리를 실행할 때 필요한 자원이다.(Entity 등)

  2. Service
    • 애플리케이션의 서비스 처리를 담당한다.

  3. Repository
    • Repository는 인터페이스다.
    • 데이터베이스의 데이터 조작 내용만 정의한다.(구현내용은 작성하지 않는다.)


  • 인프라스트럭처 레이어
  1. RepositoryImpl
    • 도메인 레이어에서 정의한 Repository의 구현 클래스이다.
    • 'O/R Mapper'가 Repository의 구현클래스를 생성하는 경우도 있다.

  2. O/R Mapper
    • O(Object; 객체)와 R(Relational; 관계형 데이터베이스) 간의 데이터를 매핑한다.


생성할 컴포넌트 목록

NO레이어컴포넌트이름비고
1애플리케이션 레이어View-화면 표시
2애플리케이션 레이어ControllerQuizController제어 역할 담당
3애플리케이션 레이어FormQuizForm화면의 게임 폼을 표현
4도메인 레이어ServiceQuizService인터페이스로 생성
5도메인 레이어ServiceImplQuizServiceImplService를 구현
6도메인 레이어도메인 객체Quiz엔티티 역할
7도메인 레이어RepositoryQuizRepository인터페이스로 생성
8인프라스트럭처 레이어RepositoryImpl-O/R Mapper로 자동 생성
9인프라스트럭처 레이어O/R Mapper-스프링 데이터 JDBC를 사용

9-2 OX 퀴즈용 데이터베이스 생성 -> 생략

profile
백엔드 취준생 / 코린이 ヾ(≧▽≦*)o

0개의 댓글