API 생성에 필요한 클래스
- Controller : API 요청을 받음
- DTO : Request를 받음
- Request : 트랜잭션, 도메인 기능 간 순서 보장
비즈니스 로직 처리
- Web Layer
- 외부 요청과 응답에 대한 전반적 영역
- @Controller와 JSP/Freemarker 등 뷰 템플릿 영역
- ex) 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@Controller Advice 등) - Service Layer
- Controller와 DAO 중간 영역에서 사용
- @Service에 사용되는 영역
- @Transaction이 사용되어야 하는 영역 - Repository Layer
- DB와 같이 데이터 저장소에 접근하는 영역 - DTOs
- DTO(Data Transfer Object): 계층 간 데이터 교환을 위한 객체
- DTOs : DTO의 영역
- 뷰 템플릿 엔진에서 사용될 객체나 결과로 넘겨준 객체 등 - Domain Model
- 도메인(개발 대상)을 모든 사람이 동일한 관점에서 이해하고 공유할 수 있도록 단순화 시킨 것
- 무조건 DB 테이블과 관계가 있어야만 하는 것은 아님
- 도메인(Domain)은 비즈니스 로직 처리를 담당함
(책 103페이지 참고)
트랜잭션 스크립트
- 모든 로직이 서비스 클래스 내부에서 처리되는 것
- 이럴 경우 서비스 계층이 무의미하며, 객체는 단순한 데이터 덩어리 역할만 하게 됨
도메인 모델 처리와 차이점
- 각 도메인에서 이벤트 처리를 할 수 있음
- 이로 서비스 메소드는 트랜잭션과 도메인 간 순서만 보장됨
'Development > Spring Framework' 카테고리의 다른 글
H2 Database 접근 (0) | 2021.05.07 |
---|---|
[에러 기록] Request method 'XXX' not supported (0) | 2021.05.07 |
스프링 부트에서 JPA 사용하기 (3) (0) | 2021.05.06 |
스프링 부트에서 JPA 사용하기 (2) (0) | 2021.05.03 |
스프링 부트에서 JPA 사용하기 (1) (0) | 2021.05.03 |