ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring 웹 계층
    Spring Boot 2021. 3. 1. 22:03

    • Web Layer

      • 컨트롤러(@Controller), 뷰 템플릿 영역(JSP)

      • 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@ControllerAdvice) 등 외부 요청과 응답에 대한 전반적인 영역
    • Service Layer

      • 서비스(@Service) 영역
      • 컨트롤러와 DAO의 중간 영역
      • @Transactional이 사용되어야 하는 영역
      • 비즈니스 로직 처리하지 않는다.
      • 트랜잭션, 도메인간의 순서 보장
    • Reposiotry Layer

      • Database와 같이 데이터 저장소에 접근하는 영역
      • 기존의 DAO(Data Acess Object) 영역
    • DTOs

      • DTO(Data Transfer Object)
      • 계층 간의 데이터 교환을 위한 객체
      • 예를 들면 Repository Layer에서 결과로 넘겨준 객체 등이 있다.
    • Domain Model

      • 비즈니스 처리를 담당
      • 도메인이라고 불리는 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록 단순화시킨 것이 도메인 모델이다.
      • 예를 들면 택시 앱에서 배차, 탑승, 요금 등이 모두 도메인 영역이 될 수 있다.
      • @Entity가 사용된 영역
      • 무조건 데이터베이스의 테이블과 관계가 있어야만 하는 것은 아니다. VO같은 값 객체들도 이 영역에 포함
      • Entity 클래스를 Request/Response 클래스로 사용해서는 안 된다. Entity 클래스는 데이터베이스와 맞닿은 핵심 클래스이다.
      • 수많은 서비스 클래스나 비즈니스 로직이 Entity 클래스를 기준으로 동작한다. 꼭 Entity클래스와 Controller에서 쓸 Dto는 분리해서 사용해야 한다.

     

     

    출처 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 이동욱

    'Spring Boot' 카테고리의 다른 글

    Spring Annotation 정리  (0) 2021.02.24
CokeWorld DevLog