Spring Boot layered Architecture

NaNa·2024년 11월 5일

Spring Boot

목록 보기
1/1

Spring Boot 레이어 아키텍처

  • layer은 층 , architecture은 구조 , 말그대로 계층을 가진 구조로서 효율적인 개발을 위해 애플리케이션을 여러 레이어로 나누어 구조화하는 방식
  • 각 계층은 위 아래 계층과 서로 통신한다
  • 유지보수 및 재사용성을 높일 수 있다

1.구조

2.Presentation layer

  • 사용자와 밀접한 층으로 사용자와 소통하는 계층
  • mvc(ModelViewController) 패턴이 이용되며 프런트엔드 부분(DispatcherServlet 등)으로 구성
  • HTTP의 request를 처리하고 json 매개 변수를 객체로 전환하며 authentication와 같이 허가를 해주는 역할도 수행한다

3.Business layer

  • Controller에서 요청을 보내면 비지니스 로직을 처리하는 컨포넌트
  • 이때 하나의 비지니스 로직은 하나의 트랜잭션으로 동작한다
  • Service 클래스 층으로 수정을 원활하게 해주는 interface를사용
  • 확인,검증,권한부여의 역할 수행

4.data Acess layer

  • DB와 연결해 데이터를 조회, 저장,삭제,수정을 담당한다
  • 서비스가 dao(Mybatis,jpa등으로 구현한)를 부르는 형태

5. 동작과정

1.Client 에서 request(요청)가 들어오면 Presentation layer에서 DispatcherServlet이 HandelerMapping을 통해 확인 후 Controller에게 request를 전달한다. Controller는 request처리를 Business layer에게 넘긴다.

2. Business layer는 request에서 넘겨줘야할 데이터가 있으면 

0개의 댓글