ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DAO? DTO? VO?
    프로그래밍/Spring 2018. 4. 16. 09:23

    Spring boot를 공부하면서 다양한 용어들을 접하는데 그중 Jpa를 공부하면서 DAO, DTO, VO의 개념들을 알게 되었고 

    개발을 하면서도 헷갈려서 이번 기회에 정리를 해볼까 합니다.


    DAO란?

    Data Access Object의 약자로 말 그대로 DB나 데이터에 연결을 하기위한 객체를 말합니다.


    활용도

    웹서버에서 DB에 연결하기 위해서 connection을 사용하는 요청이 증가해 과부화가 걸리면 안되기에 connection pool이라는 기능이 존재합니다.

    커넥션 풀이라는 기능은 커넥션 객체를 만들어 사용을 사용을 한뒤 객체를 반환하는 것인데 모든 커넥션에서 DB에 접속하는 하나의 객체를 만들어 

    이 객체가 모든 DB의 연결을 처리하도록 도와주는 객체를 DAO라고합니다.


    예시)

    spring boot에서 예시를 들어보면 repository의 기능이라고 생각합니다.

    하나의 인터페이스에서 application.properties에서 연결한 DB의 각각의 기능을 수행하기 때문


    DTO (VO)란?

    Data Transfer Object와 (Value Object)의 줄임말로 각각의 객체들은 RDB의 레코드에 해당하는 자바 클래스를 말합니다.

    대신 VO는 read only의 속성을 지니는데 이 점이 DTO와의 차이를 가지는데 DTO는 데이터가 포함되어있는 객체를 다른 시스템으로 전달의역할을 합니다.


    예시)

    spring boot에서 예시를 들어보면 Entity 어노테이션으로 지정되어있는 객체를 VO라고 말할 수 있다고 생각합니다.


    결론

    VO는 특정한 값만 담아 보관하는 역할의 객체, DTO는 통신용도로 교환하는 VO의 객체를 DTO라고 말합니다.

    '프로그래밍 > Spring' 카테고리의 다른 글

    의존성 주입이란? (DI)  (1) 2018.06.18
    Spring boot란?  (0) 2018.05.13

    댓글

Designed by Tistory.