Spring Boot는 다음 그림에서 보듯 각 계층이 양 옆의 계층과 통신하는 구조를 따른다.  여기서 계층이라는 단어는

각자의 역할,책임이 있는 어떤 Software의 구성 요소를 의미한다. 각 계층은 서로 소통할 수는 있으나 다른 계층에 직접 간섭하거나 영향을 미치지는 않는다.

 

<🍗치킨과 🍕피자로 이해하는 계층 > 

어떤 거리에 치킨집과 피자집이 있다고 생각해보자. 치킨은 치킨을, 피자는 피자를 판다.

그런데 필요한 경우 협업 관계를 맺음으로 어떤 손님이 피자를 사면 치킨을 할인 할 수도 있다.

 

이것이 계층 간의 소통이다. 하지만 치킨 알바생이 치킨을 팔다 말고 피자집에 가서 피자를 팔 수는 없는 것이다.

즉, 계층은 서로 영향을 끼치지는 못한다. 이렇게 각 계층은 자신의 책임에 맞는 역할(치킨 팔기,피자 팔기)를 수행하며,

필요에 따라 소통(피자 사면 치킨 할인)한다. Spring boot에는 presentation,Business,Persistence 계층이 있다. 이 계층이 서로 통신하며 프로그램을 구성 한다. 

🌈 Presentation 계층 (Controller)

 Presentation 계층은 사용자로부터 요청을 받아들이고, 사용자에게 응답을 전달하는 역할을 한다. 이는 웹 어플리케이션의 '얼굴'이라고 볼 수 있으며, 이 계층에서는 사용자의 요청을 파싱하고 유효성을 검사한 후에 적절한 Business 계층의 메서드를 호출한다. Spring Boot에서는 @Controller 또는 @RestController 어노테이션이 붙은 클래스가 이 역할을 담당한다.

 

🌈 Business 계층 (Service)

Business 계층은 실제 비즈니스 로직이 구현되는 곳으로, Presentation 계층에서 받은 요청을 처리하고 결과를 반환한다. 예를 들어, 온라인 상점에서 주문이 들어왔을 때 주문 처리 로직, 재고 확인, 할인 적용 등의 비즈니스 로직이 이 계층에서 구현된다. Spring Boot에서는 @Service 어노테이션이 붙은 클래스가 이 역할을 담당한다.

🌈 Persistence 계층 (Repository)

Persistence 계층은 데이터에 직접 접근하는 역할을 한다. 주로 데이터베이스와의 상호작용을 처리하며, 데이터를 생성(Create), 읽음(Read), 업데이트(Update), 삭제(Delete)하는 CRUD 연산을 담당한다. Spring Boot에서는 @Repository 어노테이션이 붙은 클래스가 이 역할을 담당한다..

 

 

 

출처 : 스프링 부트 3 백엔드 개발자 되기 - 자바 편

http://www.yes24.com/Product/Goods/118625612

 

스프링 부트 3 백엔드 개발자 되기 - 자바 편 - YES24

- 자바 백엔드 개발자가 되고 싶다면- 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔

www.yes24.com

 

'스프링부트' 카테고리의 다른 글

Test Code  (0) 2023.05.18
Spring Boot Request~Response Process  (0) 2023.05.18
@SpringBootConfiguration/@ComponentScan/@EnableAutoConfiguration  (0) 2023.05.18
@SpringBootApplication  (0) 2023.05.18
Portable Service Abstraction  (0) 2023.05.18

+ Recent posts