본문 바로가기
프로그래밍/SPRING

한끝완3

by 두둠칫 2022. 5. 27.

0. 산출물

https://github.com/dmzld/D-maker/commit/fab4542fc187b47f6b9cee31ccf58371de097e0e

 

transaction, data validation, exception, http create with dto · dmzld/D-maker@fab4542

Browse files transaction, data validation, exception, http create with dto Loading branch information

github.com

 

 

1. Transaction : 작업수행의 논리적 단위

- ACID

1) Atomic : 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장

2) Consistency : 트랜잭션이 성공적으로 완료되면 일관적인 DB상태를 유지, commit이 정해진 시점에는 정해진 규칙이 지켜져야 함

3) Isolation : 트랜잭션 수행시 다른 트랜잭션의 작업이 끼어들지 못하도록 보장, 성능과는 trade-off

4) Durability : 성공적으로 수행된 트랜잭션은 영원히 반영, commit을 하면 현재 상태는 영원히 보장

 

 

2. AOP, Transaction

- @Transaction 찍어보자

 

 

3. data validation

- service단에서 request에 대해 business logic에 따라 data를 검증

 

 

4. http test

- (src/main/test에 test 디렉토리 만들어서) HTTP request file 생성 및 테스트 사항 입력 후 run

- 또는 postman 활용

 

 

5. 중간정리

- HTTP 통신 프로세스 : request → controller (→ data validation → receive data with DTO)

→ service → (apply business logic → if error is occured, throw exception) return response

 

- VO, DTO, DAO

1) VO(value object) : read-only object(No setter)

2) DTO(data transfer object) : 계층 간 데이터 교환을 위해 사용하는 object, logic 없이 순수 getter, setter만 가지고 있음

3) DAO(data access object) : DB에 접근하기 위한 객체, DB접근로직&비즈니스로직 포함

: server가 dto받아 dao로 db에 데이터 insert

(*이번회차기준 DMaker에서는 jpa.repository를 통해 별도의 DAO 생성 없이 data 처리중)

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

[SPRING] 대량 Insert : mybatis foreach vs sqlSession batch  (0) 2022.08.02
JPA 관련 정리  (0) 2022.06.01
한끝완2  (0) 2022.05.23
한끝완1  (0) 2022.02.20
[SPRING] IOC, DI, COMPONENT, BEAN, AOP  (0) 2021.10.25