[스프링 부트] 간단한 게시판 앱의 구조 및 역할

HL·2021년 3월 12일
0

스프링 부트

목록 보기
2/4

정리하게 된 이유

책보고 실습하는데 구조가 생소해서 이해도 잘 안되고 머릿속에서 연결도 잘 안돼서..

요구사항

  • 게시판 기능
    • 게시글 조회
    • 게시글 등록
    • 게시글 수정

구조

  • 도메인
    • Post 패키지
      • Entity 클래스
      • Repository 인터페이스
    • (기능별 패키지...)
  • 서비스
    • Post 패키지
      • Post Service 클래스
    • (기능별 패키지...)
    • DTO 패키지
      • Post Response DTO 클래스
      • Post Save Request DTO 클래스
      • Post Update Request DTO 클래스
    • Controller 클래스들

역할

도메인

  • Entity 클래스
    • Entity 어노테이션
    • DB의 테이블과 매칭
      • 반드시 그런 것은 아님(VO)
    • MVC의 모델?
    • 값 주입 방법
      • 생성자로 값을 초기화
      • 이벤트에 맞는 public 메소드로 값 변경
      • 절대 Setter를 만들지 않음
  • Repository 인터페이스
    • DAO(Data Access Object) 역할
    • Entity 클래스로 DB에 접근하게 해줌
    • Entity 클래스와 함께 있어야 함

서비스

  • Controller와 Repository의 중간에서 사용
  • 트랜잭션, 도메인 간 순서 보장 역할
  • 비즈니스 로직 처리 X

DTO

  • Controller와 Service에서 사용
  • Repository에서 결과로 넘겨줄 때 사용

컨트롤러

  • Web 레이어
  • 라우팅?
  • 사용자와 가장 맞닿아 있음

정리

  • 약간 이런 느낌인 것 같다
  • 으 복잡하다
profile
Swift, iOS 앱 개발을 공부하고 있습니다

0개의 댓글