Spring〃스프링 프레임워크의 MVC 모델 구조

반응형


예전부터 스프링 프레임워크를 공부하면서 왜 사용해야되고 공부해야 되는지 이유에 대해서 궁금했는데요. 


그 이유 중 하나는 기존에 사용 모델 방식이 JSP와 JavaBean만을 이용해 개발속도가 빨랐지만 단점으로 1.코드가 복잡하다 2. 컨트롤러와의 구분이 애매해서 유지보수가 어려워 사용하게 됬다고 해요. 반면 스프링 프레임워크를 사용하게 되면 Model, View, Controller 3가지 조화로 로직이 확실하게 분리되어 유지보수가 쉬워지게 됩니다.




JSP와 JavaBean만을 사용한 모델 (스프링x)


스프링을 사용하지 않고 기존에 사용되었던 모델을 그림으로 정리하자면 이런거죠. 웹 브라우저에서 JSP로 요청하면 JavaBean에서 자원을 받아와 JSP에 뿌려주고 바로 웹브라우저에 전송하는 방식이였습니다. 




 Spring Framwork의 구조 (MVC형식)



이번엔 스프링 프레임워크를 이용한 모델을 정리해봤습니다. 아까와 구조는 비슷하지만 컨트롤러라는 서블릿 컨테이너가 새로 생겨나고 , MVC(Model, Controller, View)가 서로 상호작용을 하며 월활한 구조를 가지고 있는 모습을 볼 수있습니다.


위에서 언급한 JSP는 View로 화면에 보여지는 역활을 하고 JavaBean은 Model로 서비스와 DAO을 담당, 서블릿으로 사용되는 Controller는 MVC를 가운데에서 조율하는 역활을 합니다.여기서 Resource는 자원이라고도 불리는데 모두들 알고 계시는 DB가 바로 Resource입니다.





 진짜 MVC 패턴의 흐름




도움되는글 → MVC 패턴의 흐름


도움되는글 → Dispatcher Servlet / HandlerMapping 설정


진짜라고 제목에 이름 붙인게 웃기지만  DispatcherServlet과 HandlerMapping등으로 세분화된 MVC패턴을 구분하기 위해 지어봤습니다. 위에서 5가지의 절차로 간단하게 이해가 되던 부분이 여기서는 순서가 8가지나 됩니다. 그렇기 때문에 자세한 설명은 제가 링크해둔 글을 통해 읽어보시면 이해가 되실거에요. 순서에 대한 자세한 설명은 첫번째 링크, 디스패쳐서블릿과 핸들러매핑에 대한 설명과 설정에 대한 부분은 두번째 링크입니다.

반응형