스프링 부트는 스프링 프레임워크를 기반으로 만들어진 백엔드 프레임 워크이다.
스프링 부트의 동작원리를 이해하기전에 스프링 부트의 다양한 계층, 클래스를 알아보자
레이어
- 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와 같은 웹 페이지를 리턴합니다.
'JAVA > Spring Boot' 카테고리의 다른 글
(Spring Security)스프링 환경에서 JWT 토큰 발급 (0) | 2022.03.21 |
---|---|
(node.js) express 프로젝트 구조 (0) | 2021.08.31 |
(스프링 부트) 커스텀어노테이션으로 중복코드 방지 (0) | 2021.07.14 |
(스프링 부트) 구글 로그인 구현 (0) | 2021.07.13 |
(Spring Boot)TestRestTemplate null request Error (0) | 2021.07.12 |