DAO, DTO, VO

반응형

스프링을 사용하다보니 DTO, DAO, VO와 같은 용어들이 나오게 되는데, 간단하게 정리를 해보겠습니다.

 

DAO (Data Access Object)

  • 데이터베이스의 data에 접근하기 위한 객체입니다.
  • DB에 접근하기 위한 로직을 분리하기 위해 사용합니다.
  • 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등의 조작을 합니다.
  • MVC 패턴의 Model의 역할입니다.
  • Repository와 같다고 생각하면 됩니다.

 

 

DTO (Data Transfer Object)

  • 데이터 교환을 하기 위한 객체로, 로직을 가지지 않은 순수한 데이터 객체입니다.
  • DB에서 data를 얻거나, 사용자로부터 입력을 받아 controller나 service로 보낼때 사용하는 객체입니다.
  • getter와 setter만을 가지고 있습니다.

 

 

VO (Value Obejct)

  • read-only 속성을 가진 값 오브젝트입니다.
  • 단순 값 타입을 표현하기 위해 만드는 불변 클래스(read-only)입니다.
  • getter 기능만 가지고 있습니다.

 

 


사용 예시

 

유저가 입력한 데이터를 DB에 넣을 때

1. 유저가 브라우저에 입력한 데이터를 DTO에 넣어서 전송한다.

2. 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣는다.

3. 응답값을 미리 정해져있는 VO 값으로 준다


참고링크1

참고링크2

반응형

'방구석 컴퓨터 > 방구석 스프링' 카테고리의 다른 글

스프링 시큐리티와 JPA를 활용한 Basic Auth  (0) 2023.12.06
@RequestMapping  (0) 2023.09.13
Lombok  (0) 2023.08.17
스프링 빈(Spring Bean)  (0) 2023.08.16
스프링 시큐리티 PermitAll() 안될때  (0) 2023.08.03
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유