[Spring] 웹애플리케이션 계층구조

Song_Song·2021년 4월 26일
1
post-thumbnail

Controller

클라이언트가 이용할 앤드포인트
클라이언트의 요청을 어떻게 처리할 지 정의
화면에서 넘어오는 매개변수를 이용해 서비스 객체를 호출하는 역할

Service

비즈니스 로직 구현
Http 통신을 위한 객체(request, response)를 매개변수로 받으면 안된다(이 작업은 컨트롤러에서만)
데이터베이스 영역과 도메인 영역을 연결해주는 매개체

Repository

데이터베이스에 접근
Domain의 CRUD역할 (Domain 객체를 DB에 저장하고 관리)

  • DAO(Data Access Object) (=Repository)
    - DB에 접근하는 객체
    • Service와 Controller를 연결
    • Mybatis, JDBC 처럼 SQL문을 사용하여 DB를 조작하는 SQL Mapper, 혹은 JPA, Hibernate 처럼 메서드에서 데이터를 조작하여 SQL을 자동으로 생성하는 ORM(Object Relation Mapping)을 사용하는 계층이다.

Domain

Entity(DB 테이블과 맴핑되는 객체) 클래스라고도 부른다

  • DTO(Data Transfer Object)
    - 각 계층간 데이터 교환을 위한객체이다. DB에서 데이터를 얻어 Service, Controller 등으로 보내준다
    • 로직을 갖지 않고 getter, setter 메소드를 가진다.
profile
성장을 위한 정리 블로그

0개의 댓글