Notice
Recent Posts
Link
Tags
- spring boot
- springboot
- 자바
- join
- session
- 스프링
- DI
- @transactional
- jpa
- 스프링부트
- spring security 6
- Git
- mysql
- Django
- AWS
- SSL
- 1차원 배열
- java
- nginx
- spring mvc
- 문자열
- sql
- 데이터베이스
- PYTHON
- 프로그래머스
- Docker
- spring
- select
- ORM
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Archives
개발하는 자몽
[Spring] VO와 DAO 본문
DAO(Data Access Object)
- DB의 데이터에 접근하기 위한 객체
- DB 접근 로직 / 비즈니스 로직을 분리하기 위한 용도로 사용
- DB에 접속하여 데이터 CRUD(Create, Read, Update, Delete) 작업을 시행하는 클래스
- DAO는 단일 데이터에 대한 접근, 갱신 개념이다.
- Service는 하나 이상의 DAO를 이용하여 비즈니스 로직을 처리한다. (Like 트랜잭션 단위)
DTO(Data Transfer Object)
- 각 계층간 데이터를 교환하기 위한 객체
- 어떠한 로직도 가지지 않는 순수한 데이터 객체
- getter, setter 메소드만 가지고 있는 클래스
- setter를 활용하기 때문에 가변(mutable)성을 가지고 있는 클래스
VO(Value Object)
- 각 계층간 데이터를 교환하기 위한 객체 → DTO와 동일한 역할
- 어떠한 로직도 가지지 않는 순수한 데이터 객체
- getter 메소드만 가지고 있는 클래스
- setter를 활용하지 않기 때문에 불변(immutable)성을 가지고 있는 클래스
Spring MVC 환경을 구축하고 게시판을 만드는 프로젝트를 하면서 VO 클래스를 알게되었다. SpringBoot만 해온 나의 시각에서 바라보는 VO는 Model 패키지안에 있는 클래스 역할을 하고 있다. 내가 작성한 VO 클래스는 DTO의 역할(setter 메소드)까지 수행하고 있다. (괜찮겠지..?)
참고
https://da-nyee.github.io/posts/spring-dao-dto-vo/
'Java > Spring' 카테고리의 다른 글
스프링 부트 공부 (6), 스프링 빈과 의존관계 - 1 (0) | 2022.02.22 |
---|---|
[Spring] MVC와 ORM (0) | 2022.02.11 |
[Spring Boot] 패키지 구조 (0) | 2022.01.07 |
[Spring, 이클립스] Gradle 프로젝트 생성, Spring MVC 환경 구축 (2) | 2022.01.06 |
스프링 부트 공부 (5), 회원 관리 예제 - 백엔드 (0) | 2022.01.04 |
Comments