JAVA/Spring Boot

(Spring Boot) 동작 원리

ri5 2021. 8. 10. 19:39

스프링 부트는 스프링 프레임워크를 기반으로 만들어진 백엔드 프레임 워크이다.

스프링 부트의 동작원리를 이해하기전에 스프링 부트의 다양한 계층, 클래스를 알아보자

 

레이어

  • Presentation Layer (프레젠테이션 계층)프레젠테이션 계층은 HTTP 요청을 처리하고 JSON으로 받은 데이터를 객체로 변환하여 요청을 인증하고 비지니스 계층으로 전달한다. 간단히 말해서 뷰, 즉 프론트엔드 부분으로 구성됨

 

  • Business Layer (비지니스 계층)비지니스 계층은 모든 비즈니스 로직을 처리하며 서비스 클래스로 구성되어 데이터 엑세스 계층에서 제공하는 서비를 사용합니다. 그리고 권한 부여 및 유효성 검사를 수행합니다.
    • 데이터 엑세스 계층: DAO나 Repository와 같은 데이터 베이스와 직접 접근하는 계층.
  • Persistence Layer (영속성 계층)비지니스 계층에서 받은 Objct를 데이터 베이스 Row로 변환해주는 계층

 

  • Database Layer (데이터 베이스 계층)데이터베이스 계층에서 직접적인 C(생성), R(조회), U(업데이트), D(삭제) 작업이 수행됩니다.

스프링 부트의 아키택처

  •  스프링 부트는 SpringMVC, Spring Data등의 모든 모듈을 사용함. 스프링 부트는 DAO 클래스가 필요 없다는 한가지를 제외하고는 스프링과 동일합니다.
  • 데이터 엑세스 계층을 생성하고 CRUD 작업수행
  • 클라이언트에서 유저가 요청한 동작을 HTTP요청으로 만듭니다(GET 또는 POST)
  • HTTP요청은 컨트롤러로 이동하면서 해당 요청을 매핑하고 처리합니다. 서비스 로직이 필요한 경우 호출합니다.
  • 모든 비지니스로직은 서비스 계층에서 수행됩니다. JPA에 매핑된 데이터 모델을 처리합니다.
  • 이상이 없다면 JSP와 같은 웹 페이지를 리턴합니다.