스프링 기본 개념 정리3 - 프레젠테이션 계층, 비즈니스 계층, 퍼시스턴스 계층

진용완·2025년 5월 15일
0

이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 핵심 개념들을 정리하기 위해 작성하였습니다.

3장. 스프링 부트 3 구조 이해하기

   스프링 부트는 계층이라고 불리우는 구성 요소들이 서로 통신을 주고받는 모습으로 작동한다. 스프링 부트의 세가지 계층은 다음과 같다.

□ 1. 프레젠테이션 계층
  프레젠테이션 계층이란 클라이언트의 HTTP 요청과 비즈니스 계층에 있는 메서드를 서로 연결시키는 역할을 하는 계층이다. 스프링 부트에서는 @Controller 또는 @RestController라는 어노테이션으로 이 계층을 구분한다.

□ 2. 비즈니스 계층
  비즈니스 계층이란 클라이언트의 요청을 직접적으로 처리하는 메서드들이 들어있는 계층이다. 즉, 비즈니스 로직을 처리하는 계층이다. 스프링 부트에서는 @Service라는 어노테이션으로 이 계층을 구분한다.

□ 3. 퍼시스턴스 계층
  퍼시스턴스 계층이란 데이터베이스에 접근하는 역할을 하는 계층이다. 스프링 부트에서는 @Repository라는 어노테이션으로 이 계층을 구분한다.


    스프링 부트가 클라이언트의 HTTP 요청을 처리하는 구체적인 방식은 다음과 같다.
  1. 클라이언트가 HTTP 요청을 톰캣(WAS)에 보낸다.
  2. 톰캣에 들어온 HTTP 요청을 스프링 부트의 디스패쳐 서블릿이 분석하여, 어느 컨트롤러(프레젠테이션 계층)에 보낼지 결정한다.
  3. HTTP 요청을 받은 컨트롤러가 해당 요청을 처리할 수 있는 서비스(비즈니스 계층)의 메서드에 전달한다.
  4. 메서드는 리포지토리(퍼시스턴스 계층)을 거쳐 데이터베이스에서 필요한 데이터를 가져온다.
  5. 뷰 리졸버가 메서드가 반환한 결과물을 HTML이나 JSON 따위의 형식으로 변환시켜 보여준다.

0개의 댓글