TIL

+17 Springboot DTO, CREATED, READ

JAVABOZA 2023. 6. 30. 09:07

DTO (Data Transfer Object)

- 계층 간의 데이터를 교환을 하기 위해 사용하는 객체 // 데이터 전송 객체

- 로직을 가지지 않는 순수한 데이터 객체 (getter & setter만 가진 클래스)

- 어떠한 비즈니스 로직을 가져서는 안되며, 저장, 검색,직렬화, 역직렬화 로직만 가져야 함.

- 즉 Entity를 DTO형태로 변환 후 사용

 

직렬화란?
DTO를 byte, Json, Xml 등의 형태로 변환하는 것 // 네트워크 통신에 사용하기 위한 형식으로 변환

역직렬화란?
디스크에 저장한 데이터를 읽거나, 네트워크 통신으로 받은 데이터를 메모리에 쓸 수 있도록 변환 

DAO (Data Access Object) 

- 데이터베이스의 data에 접근하기 위한 객체

- 데이터베이스에 접근하기 위한 로직 , 비즈니스 로직을 분리하기 위해 사용

정리하면 DB에 접근하여 DATA를 CRUD기능을 수행한다.

Repository package라 볼 수 있다.

 

 

VO (Value Object)

- 값의 오브젝트로써 값을 위해 쓰임

- read-only특징을 가지고 있음

- DTO와 유사하다 but DTO는 setter를 가지고 있어 값이 변할 수 있음