본문 바로가기

Study for Backend/Spring Framework

[Spring Framework] 스프링 프레임워크

Spring Framework

- 모든 종류의 배포 플랫폼에서 최신 Java 기반 엔터프라이즈 애플리케이션을 위한 포괄적인 프로그래밍 및 구성 모델을 제공
- 애플리케이션 수준의 인프라 지원

- 동적인 웹 사이트를 개발에 용이

 

 

MVC pattern

- MVC 패턴은 애플리케이션을 개발할 때 사용하는 디자인 패턴
- 애플리케이션의 개발 영역을 MVC (Model, View, Controller)로 구분하여 각 역할에 맞게 코드를 작성하는 개 발 방식
- MVC 패턴을 도입하면서 UI 영역과 도메인(비즈니스 로직) 영역으로 구분되어 서로에게 영향을 주지 않으면서 개발과 유지보수가 가능
- MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, View는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, Controller 는 데이터와 비즈니스 로직 사이의 상호동작을 관리함

 

MVC pattern 사용 목적

- 각 컴포넌트가 서로 분리되어 각자의 역할에 집중할 수 있기 때문에 시스템 결합도를 낮출 수 있음

- 유지보수가 용이하며 중복코드를 제거할 수 있음

- 애플리케이션의 확장성 및 유연성이 증가

 

 

Model (모델)
- Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 전달받으면 요청 사항을 처리하기 위한 작업을 함
-  처리한 작업의 결과 데이터를 클라이언트에게 응답으로 돌려주어야 하는데, 이 때 클라이언트에게 응답으로 돌려주는 작업의 처리 결과 데이터를 Model이라고 함

View (뷰)

-  Model을 이용하여 웹 브라우저와 같은 애플리케이션의 화면에 보이는 리소스(Resource)를 제공하는 역할

- 기능 ( HTML 페이지 출력 / PDF, Excel 등의 문서 형태로 출력 / XML, JSON 등 특정 형식의 포맷으로 변환)


Controller (컨트롤러)
- 클라이언트 측의 요청을 직접적으로 전달받는 엔드포인드(Endpoint)로써 Model과 View의 중간에서 상호작용을 해주는 역할
- 클라이언트 측의 요청을 전달받아 비즈니스 로직을 거친 후, Model 데이터가 만들어지면 이 Model 데이터를 View로 전달하는 역할을 함

 

 

 

 

 

 

관련link

https://velog.io/@do_dam/Spring-MVC%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-%EC%8A%A4%ED%94%84%EB%A7%81-MVC-%EA%B5%AC%EC%A1%B0-%EC%9D%B4%ED%95%B4

 

[Spring] Spring MVC란 무엇인가? - 스프링 MVC 구조 이해

하나의 서블릿 혹은 JSP 만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리한다면, 너무 많은 역할을 하게 되어 유지보수가 어렵다.JSP 같은 뷰 템플릿은 화면을 렌더링 하는데 최적화 되어 있기

velog.io