최데브는 오늘도 프로그래밍을 한다.

2. Java Spring 서버(1) 본문

안드로이드 프로젝트

2. Java Spring 서버(1)

최데브 2020. 12. 8. 01:09
반응형

나는 Spring 서버를 많이 쓰이는 MVC 패턴으로 개발했다.

 

먼저 MVC 패턴에 대해서 정리를 하자면 아래 그림과 같은데

 

MVC 패턴 이미지(마지막 그림은 DB를 의미한다.)

일단 MVC 가 어떤 약자들인지부터 설명하는것이 맞겠다.

M : Model 을 의미한다. 모델은 쉽게 말하면 Controller에서 받은 데이터를 저장하는 역할을 한다.

V : VIew 를 의미한다. Controller로 부터 받은 Model 데이터를 바탕으로 사용자가 보고 있는 화면에 표현한다. 웹의 경우에는 HTML , JSP 등이 있겠다.

C : Controller를 의미한다. 사용자가 요청한 URL 에 따라서 그 URL 를 받는 컨트롤러에서 Method를 호출하여 Service를 통해 비즈니스 로직을 처리한다 최종적으로 나온 결과를 Model 에 저장하고 그 결과를 View에 보여준다.


MVC 패턴에도 크게 2가지 방법으로 나눠진다.

 

 

  • Model1
  • Model2

이는 좋은 설명이 있어서 출처와 함께 첨부한다.

 

Model 1

 

Model1 방식은 Java파일과 <Tag>를 HTMl에 모두 작성하여 개발한다. 즉 JSP가 모든 요청을 다 처리한다.

이러한 방식을 통해 개발을 하면 빨리 개발을 할 수 있는 장점이 있다.

그러나 프로젝트 규모가 커질수록 코드가 복잡해져 유지보수가 힘들어지는 단점이 존재한다.

 

Model2

 

Model 2 구조는 처리해야할 역할을 Controller, View, Model이 모두 나눠 처리한다.

Controller는 RequestMapping을 통해 URL을 확인하여 바로 View에 던져줄지, Service로 들어가 추가적인 Business Login을 할지 결정한다. 이렇게 역할을 나눔으로써 HTML과 Java를 분리하여 처리하기 때문에 Model 1에 비해 확장성도 좋고 유연하며 유지보수도 하기 쉬워진다.

 

출처 : aridom.tistory.com/61

 

[Spring] MVC 패턴 & Spring Framework MVC

[해당 포스트는 개인적으로 공부를 하고 차후에 참고용으로 하고자 작성한 것입니다. 따라서 잘못된 부분이나 부족한 부분이 있을 수 있기에 참고하시기 바랍니다.] Spring Framework로 웹 개발을 할

aridom.tistory.com

 

나의 경우는 Model2 구조를 따른다.

 

그리고  이 프로젝트에서 Spring은 API 서버로 사용하기 때문에 사실상 View는 없다고 봐도 무방하다.

값을 insert 하고 select 하여 안드로이드에서 반응을 보여주기만 한다.

제대로 구조가 잡힌 서버를 구현하고 유지보수의 편의를 위해 MVC 패턴을 채택했다.

Spring 의 내부적인 동작에 대해서 정리했던 글이다. 

완벽하지는 않지만 도움이 될거라고 생각한다.

 

2020/05/05 - [Java Spring] - 스프링 동작 정리-1

2020/05/05 - [Java Spring] - Spring IoC 컨테이너 , 빈 , 의존성 주입 개념정리

2020/04/14 - [Java Spring] - Spring Framework 의 IoC 컨테이너 / 빈(Bean) / 의존성 주입(DI)개념정리

 

Spring Framework 의 IoC 컨테이너 / 빈(Bean) / 의존성 주입(DI)개념정리

https://umbum.dev/876 Spring Framework의 IoC 컨테이너 / 빈(Bean) / 의존성 주입(DI) 개념 정리 spring core의 공식 docs. 웬만큼 궁금한건 여기 다 나와 있다. https://docs.spring.io/spring/docs/5.1.x/spri..

choi-dev.tistory.com

 

반응형
Comments