Spring Boot 프로젝트 - 프로젝트 구조

정지효·2023년 8월 11일

목표

본격적으로 스프링부트를 사용하여 프로젝트를 만들기 전에, 스프링부트는 어떠한 프로젝트의 구조를 가지는지 파악해보자.

Layer

위 사진에 보이는 것처럼 스프링부트는 3가지 Layer가 존재하며 이들이 프로젝트의 구조를 담당한다.

  1. Web Layer:
    • 컨트롤러, 필터, 인터셉터가 대표적인 웹 레이어
    • 이들은 외부 요청에 직접적으로 관여하는 부분이다.
  2. Service Layer:
    • 컨트롤러와 리포지터리(저장소) 사이에 존재
    • 컨트롤러가 호출하는 비즈니스 로직이 존재
    • 트랜잭션 (@Transactional)
  3. Repository Layer:
    • DB 에 접근하는 인터페이스 (JPA의 @Repository)
  4. Domain Model
    • DB와 관련된 비즈니스 로직 처리
    • JPA의 @Entity가 사용되는 영역

폴더 구조

참고

Spring boot 패키지 구조

profile
백엔드 개발자

0개의 댓글