[JAVA/Spring] Controller/Service/DAO/DTO 이해하기

yurinnn·2024년 1월 5일
0

Java/Spring

목록 보기
9/13

Spring Framework의 MVC 에서 Model은 Service, DAO, DTO 로 나눌 수 있다.

Controller

사용자의 요청(request)을 어떻게 처리할지 결정하는 파트.
Controller에 정의 된 기준대로 요청을 처리한다.
Controller 는 받은 일을 직접 처리 하거나 다른 Model 에 전달한다.

Service

사용자의 요청(request)에 대해 어떤 처리를 할지 결정하는 파트.
Controller가 받은 요청에 대해 알맞는 정보를 가공해서 다시 Controller에게 데이터를 넘기는 것을 의미합니다.
실제 비즈니스 로직은 Service에서 수행하지 않는다.

DAO (Data Access Object)

DB의 data에 접근하기 위한 객체.
DB를 사용해 데이터를 조회하거나 조작하는 기능을 담당한다.
어플리케이션에서 사용할 DB로직을 객체 하나에 메서드로 구현하고, 이를 호출하여 사용하도록 만든 것이 DAO이다.

DTO (Data Transfer Object)

계층 간의 데이터 교환을 위한 Java Bean을 말하며,
VO(Value Object)와 유사하다.

DTO (data transfer object) : DB 와 object 중간에서 연결해주는 객체
VO (value object) : 그냥 값을 담고 있는 객체 (생성시 자체 값을 가지고 있음)
bean : model1 에서 생긴 개념으로 DTO 와 VO 의 조상

  • 프로세스 간에 데이터를 전달하는 용도의 객체
  • 데이터베이스에 저장된 데이터를 매핑하기 위한 데이터 객체
  • 빈즈 규약으로 private 타입으로 선언하고, data 접근을 위한 getters, setters만 가지고 있다.
  • DTO는 Database에서 Data를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체
  • 주요 목적은 한 번의 호출로 해당 호출에 관련 된 모든 데이터를 담은 객체를 리턴 받아 사용하는 것이다.
  • 컬럼명과 DTO의 변수명은 가급적이면 통일 시켜 준다.
    (parameter == DTO 변수명 == 컬럼명)
profile
슬기로운 개발 생활

0개의 댓글