반응형
스프링을 사용하다보니 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 값으로 준다
반응형
'방구석 컴퓨터 > 방구석 스프링' 카테고리의 다른 글
스프링 시큐리티와 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 |