[꼼꼼한 개발자] 꼼코더

16. 코드로 배우는 스프링 웹 프로젝트 - [스프링 MVC 설정] - 스프링 MVC의 기본 구조와 내부 구조(설명) 본문

Spring/코드로 배우는 스프링 웹 프로젝트

16. 코드로 배우는 스프링 웹 프로젝트 - [스프링 MVC 설정] - 스프링 MVC의 기본 구조와 내부 구조(설명)

꼼코더 2023. 1. 2. 19:45
반응형

🧬 스프링 MVC의 기본 구조

스프링 MVC를 학습하는데 가장 먼저 기억해야 하는 점은

스프링 MVC가 스프링의 서브(sub) 프로젝트라는 것이다.

 

스프링은 하나의 기능을 위해서만 만들어진 프레임워크가 아니라 ‘코어’라고 할 수 있는

프레임워크에 여러 서브 프로젝트를 결합해서 다양한 상황에 대처할 수 있도록 개발되어 있다.

 

서브 프로젝트의 의미는 ‘별도의 설정이 존재할 수 있다.’라고 생각하자

Spring Legacy Project로 생성한 예제의 경우에도

servlet-context.xml과 root-context.xml로 설정 파일이 분리된 것을 볼 수 있다.

 

스프링 MVC는 서브 프로젝트이므로 구성방식이나 설정 역시 조금 다르다고 볼 수 있다.

이 교재 예제의 구조는 다음 그림과 같다.

 


🔎 스프링 MVC 프로젝트의 내부 구조

‘스프링 MVC 프로젝트를 구성해서 사용한다’는 의미는 내부적으로는

root-context.xml 사용하는 java 영역 (흔히 POJO(Plain Old Java Object)과

servlet-context.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동하게 된다.

 

 

 

바깥쪽에 있는 WebApplicationContext라는 존재는 기존의 구조에 MVC 설정을 포함하는 구조로 만들어진다.

스프링은 웹 애플레이케이션을 목적으로 나온 프레임워크가 아니기 때문에

달라지는 영역에 대해서는 완전히 분리하고 연동하는 방식으로 구현되어 있다.


🧹 최종 정리

  • 별도의 설정이 필요한 것을 서브 프로젝트라고 불린다.
  • 스프링 MVC또한 스프링의 서브(sub) 프로젝트이다.
  • 이러한 서브 프로젝트들이 결합해서 다양한 상황에 대처할 수 있도록 ‘코어’라고 하는 프레임워크를 개발 했다.
  • ‘스프링 MVC 프로젝트를 구성해서 사용한다’는 root-context.xml 설정을 사용하는 Java 영역 (흔히 POJO(Plain Old Java Object)과 servlet-context.xml로 설정하는 Web 관련 영역을 같이 연동해서 구동하게 된다.

 

위 내용은 코드로 배우는 스프링 웹 프로젝트 교재를 참고하여 작성되었습니다.

 

코드로 배우는 스프링 웹 프로젝트 - YES24

이 책은 Spring Framework(이하 스프링)를 사용해서 말 그대로 ‘웹 프로젝트’를 어떻게 진행하는지를 설명하는 책이다. 웹 프로젝트라고 거창하게 표현하지만, 좀 더 구체적으로는 스프링으로 웹

www.yes24.com

 

 

 

 

Comments