[스프링 부트 기초 강의] 6강. 4.2.3 서비스 계층 분리와 트랜잭션
- 스프링 부트 애플리케이션은 표현 계층, 서비스 계층, 영속성 계층으로 구성됩니다. 🏛️
- 표현 계층은 클라이언트와 상호작용하며, 서비스 계층은 비즈니스 로직을 처리하고, 영속성 계층은 데이터를 저장합니다. 💾
- 각 계층 간 데이터 교환을 위해 DTO(Data Transfer Object)와 엔티티(Entity) 객체가 사용됩니다. 📦
- 표현 계층은
@RestController, 서비스 계층은 @Service, 영속성 계층은 @Repository 또는 @Mapper 어노테이션으로 정의됩니다. 🏷️
- 서비스 계층에서
@Transactional 어노테이션을 사용하여 트랜잭션 관리를 할 수 있습니다. 事务
- 회원 가입 예제를 통해 각 계층의 역할과 데이터 흐름을 설명합니다. 🧑💻
- 대량의 회원 가입 처리 시 트랜잭션 관리를 통해 데이터 일관성을 유지하는 방법을 제시합니다. 🛡️
- DTO 객체는 요청(Request)과 응답(Response) 형태로 나뉘어 사용될 수 있으며, 엔티티 객체와 구조가 다를 수 있습니다. 📤
- 서비스 계층은 리포지토리를 사용하여 데이터베이스에 접근하고, 필요한 경우 데이터 변환을 수행합니다. ⚙️
- 스트림 API를 사용하여 컬렉션 데이터를 효율적으로 처리하고 변환할 수 있습니다. 🌊