About Spring
Spring FrameWork와 MVC 패턴
오늘도 타는중
2022. 6. 5. 20:08
FrameWork?
프로그래밍에서 특정 운영 체제를 위한 응용 프로그램 표준 구조를 구현하는 클래스와 라이브러리 모임
Spring FrameWork?
- 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
- 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션
오픈소스 애플리케이션 프레임워크
- 오픈 소스 : 소스가 공개되어 있고 수정하거나 의견을 제시할수 있는 소스
- 애플리케이션 프레임워크 : 애플리케이션의 전 영역을 포괄하는 범용적인 프레임워크
-> 애플리케이션 개발의 전 과정을 빠르고 편리하며 효과적으로 처리하는 것이 목표
Spring FrameWork의 구조와 동작흐름
📓Work Flow
1. 클라이언트가 Request 요청
2. DispatcherServlet이 web.xml에서 <url-pattern> 에 등록된 내용만 가로챔
3. DispatcherServlet이 가로챈 요청을 HandlerMapping에게 보내 해당 요청을 처리할 수 있는 Controller에 Mapping.
4. 실제 로직 처리 (Controller -> Service -> DAO -> DB -> DAO -> Service -> Controller)
5. 로직 처리 후 ViewResolver를 통해 view 화면을 찾음
6. View 화면을 DispatcherServlet을 통해 클라이언트에게 최종 전송
MVC 패턴
📃MVC 패턴이란 애플리케이션을 Model, View, Controller의 세 영역으로 구분하여 동작하게 만드는 방식
- 비즈니스 로직&프리젠테이션 로직의 분리 가능(개발자와 디자이너 업무의 분리)
- 비즈니스 로직 : 해당 요청을 실제 동작하도록 구현
- 프리젠테이션 로직 : 사용자에게 노출되는 화면 구현
Model | View | Controller |
비즈니스 데이터를 다루는 영역 비즈니스 데이터는 DBMS에 의해 관리되 고 SQL을 통해 구현 |
프리젠테이션 로직을 담당하는 영역 일반적으로 자바는 JSP를 통해 구현 |
사용자의 요청을 처리하기 위한 비즈니 스 로직을 호출하며, 그 결과값을 사용자 에게 전달해주는 Model과 View의 중계 역할 |