<
Service Layer
>
🌠다음 포스팅🌠

스레드의 특성
☄이전 포스팅☄

파이썬의 시작점?
서비스 계층이 뭐죠?

Service Layer의 역할

MVC 디자인 페턴에서 Model은 크게 Service LayerData Access Layer로 구성된다. 여기서 DAL계층은 Entity와 함께 DB 영역에서 SQL처리를 담당한다.

만일 데이터에 문제가 발생할 경우 어떻게 처리되는가?

데이터가 DB에 저장된 시점에서 데이터를 다시 호출하여 수정하는 것은 비효율적이다. 때문에 로직의 중간에서 데이터를 작업 할 수 있는 Transaction 로직을 추가해 줘야한다.

공식적으로 이러한 로직을 Service Layer라고 부른다.

🚀 Service Layer의 필요성

Controller Layer에서 넘겨받은 데이터는 중간 작업이 필요한경우 Service Layer을 거치게된다. 여기서 중간 작업은 데이터를 집계 / 수정 / 삭제 등의 작업이며 이를 비즈니스 로직이라고 부른다.

이러한 로직은 중복적인 로직의 단순화, 트렌잭션 제어 용이 특성을 가진다.

                              Service Layer 정의 (책 JPA 프로그래밍) 서비스 계층에는 비즈니스 로직이 있고 트랜잭션을 시작한다.

서비스 계층은 데이터 접근 계층인 레포지토리 를 호출한다.

🚀 @Transaction

전처기에서 말하는 트랜잭션

정보처리기사에서는 DB의 상태를 변경하기 위한 논리적 기능 수행의 작업 단위 혹은 일련의 연산을 의미한다.

하나의 트랜잭선은 CommitRollback이 가능하다.

트랜잭션의 특성

스프링에서 말하는 트랜잭션

스프링 프레임워크는 해당 어노테이션이 붙어있는 클래스나 메소드에 트랜잭션을 적용한다.

🧾Reference

Top
Foot