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 |