WEB/Spring

MVC 패턴

dev-hyeonnnnn 2022. 12. 8. 11:58
  • MVC패턴의 프로젝트
    - 스프링 프레임워크에서 제공하는 프로젝트의 종류 중 하나이다.
    - Model-View-Controller의 약자로 mvc패턴이라 불린다.
    - 데이터모델과 화면(뷰) 그리고 이를 제어하는 컨트롤러로 구성된다.
    - 사용자 인터페이스와 비즈니스 로직을 분리하여 개발하는 방식이다.

 

  • Model
    - 데이터 처리와 관련된 클래스이다.
    - 데이터모델, 데이터베이스, 서비스 로직이 이에 해당한다.
    - Ex. service, repository, vo, dto
  • View
    - 화면처리를 하는 파일이다.
    - ex. html, jsp
  • Controller
    - 사용자 request를 가장먼저 받는 클래스이다.
    - Model과 View를 연결하는 코드이다.

 

  • MVC 패턴 흐름
    1. 사용자가 브라우저 화면에서 데이터를 요청한다.
    2. 컨트롤러에서 요청을 받아서 서비스로 전달한다.
    3. 서비스는 레파지토리에게 요청을 다시 전달한다.
    4. 레파지토리를 데이터베이스에서 데이터를 조회한다. 조회한 데이터를 서비스에 전달한다.
    5. 서비스는 조회한 데이터를 컨트롤러에게 전달한다.
    6. 컨트롤러는 데이터를 뷰에게 전달하고, 사용자에게 뷰를 응답한다.
    7. 사용자는 변경된 화면을 확인한다.

 

  • 스프링프레임워크 프로젝트에서 mvc 설정하기

 

구성파일
- web.xml
- spring-context.xml
- root-context.xml
-> XML이나 Java 파일로 프로젝트를 설정한다.



구성방법
- Web, MVC, 데이터베이스 관련 설정을 한다.
- MVC를 처리하는 DispatcherServlet를 구성한다.
- 컴포넌트 스캔 대상 패키지를 설정한다.

 

 

구성파일
- application.properties
구성방법
- 스프링부트가 자동으로 web, spring-context, root-context를 구성한다.
- 개발자는 특별히 필요한 값만 설정하면 된다.

 

  • 스프링 mvc 프로젝트의 실행 순서

 

1.톰캣이 웹어플리케이션을 실행한다. (스프링부트는 내장톰캣을 가지고있다)

2.설정파일을 읽어서 web 정보를 설정한다. (DispatcherServlet, ViewResolver, HandlerMapping)
설정파일을 읽어서 서버정보를 설정한다. (server port)
설정파일을 읽어서 database 정보를 설정한다.

3.컴포넌트를 스캔하여 스프링컨테이너에 빈을 생성하고 등록한다.
그리고 객체의 의존관계를 파악하여 객체를 주입한다.

 

 

  • MVC 처리 과정
    1. 사용자 Request를 처리하기 위해 Controller를 호출한다
    2. Controller는 사용자요청을 Serivce에 전달한다.
    3. Service, Repository에서 사용자요청에따라 데이터를 만든다.
    4. Controller는 데이터를 View로 전달한다.
    5. 사용자에게 View를 응답한다.