📖 SpringFramework MVC 패턴의 정의
- MVC 패턴은 Model, View, Controller 개념이 합쳐지면서 생긴 방식으로 소프트웨어 공학에서 사용되는 디자인 패턴이다.
- Spring Framework로 웹 개발을 할 때 기본적으로 MVC 패턴을 따르게 된다. MVC 패턴은 Model, View, Controller 이 세 가지로 나뉘어 역할을 분할하여 처리한다. 역할을 나누어 처리하기 때문에 서로의 결합도가 낮아져 좋은 코드가 되며 유지 및 보수도 하기 편해진다.
🚧 SpringFramework MVC 패턴의 프로세스

처리 순서는 다음과 같다.
- 사용자의 Request를 Controller가 받는다.
- Controller는 Business Logic을 Service와 같이 처리한 후 결과를 Model에 담는다.
- Model에 저장된 결과를 바탕으로 시각 처리를 담당하는 View를 제어하여 사용자에게 전달한다.
🔑 SpringFramework MVC 패턴의 핵심 요소
✔️ Controller
사용자가 접근한 URL에 따라 요청을 파악한다. URL에 맞는 Method를 호출하여 Service와 함께 Business Logic을 처리한다. 최종적으로 나온 결과는 Model에 저장을 하고, View에 던져준다.
✔️ Model
Model은 Controller에서 받은 데이터를 저장하는 역할을 한다.
✔️ View
Controller로부터 받은 Model의 데이터를 바탕으로 사용자에게 표현해준다. 일반적으로 HTML, JSP 등에 해당한다.
🔎 MVC 패턴 상세

- 처리해야 할 역할을 Controller, View, Model이 모두 나눠 처리한다. Controller는 RequestMapping을 통해 UR을 확인하여 바로 View에 던져줄지, Service로 들어가 추가적인 Business Logic을 처리할지 결정한다. 이렇게 역할을 나눔으로써 HTML과 Java를 분리하여 처리하기 때문에 확장성도 좋고 유연하며 유지 보수도 하기 쉬워진다.
- Spring MVC Framework는 MVC 패턴을 따르면서 Spring만의 독자적인 Class를 통해 처리한다.

[참고] https://aridom.tistory.com/61