언어공부/java, spring

[java] dao vs dto vs vo

이자드 2022. 5. 6. 09:36

dao(data access object)

데이테베이스의 data에 접근하기 위한 객체(database 접근하기 위한 로직을 담은 객체)
database 접근을 하기 위한 로직과 비지니스 로직을 분리하기 위해 사용됨
데이터베이스와 연결할 connection 까지 연결되어 있는 경우가 많다
mybatis등 프레임워크를 사용시 커녁션풀까지 제공되기 때문에 dao를 별도로 만드는 경우는 드물다

 

dto data transfer object 자료 전달 객체 

계층간 데이터 교환을 위해 자바 beans
로직을 가지지 않은 순수한 데이터 객체이고 getter setter 메소드만 가진 클래스를 의미

자료 구조체의 전형적인 형태 공개변수만 있고 함수는 없는 클래스. 
layer 간(server-> view 이동등) 데이터를 넘길때 사용되는 이유

 

vo (value object)

값 오브젝트로써 값을 위해 쓰임 
readonly 
중간에 값을 바꿀 수 없고 새로 만들어야 함

 

 

dto vs vo

공통점

데이터를 담은 객체

넣어진 데이터를 getter 를 통해 사용

 

dto 의 경우 가변의 성격을 가진 클래스(setter 사용)
vo 의 경우 불변의 성격을 가짐

 

  dao dto vo
공통점 데이터를 담는 객체
로직을 포함하는가? o x
특징은?     readonly
메소드   getter setter getter

 



https://lemontia.tistory.com/591

'언어공부 > java, spring' 카테고리의 다른 글

[용어정리] 의존이란  (0) 2022.05.19
[개념 정리] spring mvc model  (0) 2022.05.06
final 이란  (0) 2022.04.21
@ComponentScan이란  (0) 2022.04.21
[0321] java  (0) 2022.03.21