본문 바로가기

spring/그 외 알게 된 것

Spring MVC 용어

Spring MVC란?

Spring MVC는 스프링 프레임워크에서 서블릿 API를 기반으로 웹 계층을 담당하는 모듈이다.
일반적으로 Spring Web MVC 또는 간단히 Spring MVC 프레임워크라고 부른다. 이 모듈은 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 한다.

 

서블릿이란?

서블릿(Servlet)은 클라이언트의 요청을 처리하고, 적절한 응답을 반환하도록 설계된 Java 클래스 파일이다.

  • 서블릿은 자바로 작성되며, 서블릿 컨테이너(예: 아파치 톰캣)에 의해 실행된다.
  • 톰캣은 서블릿 실행 환경을 제공하는 대표적인 서블릿 컨테이너 중 하나다.

 

Spring MVC의 주요 계층

  1. 컨트롤러 계층 (Controller Layer)
    • 클라이언트의 요청을 수신하고, 서비스 계층으로 전달하거나 뷰를 반환한다.
    • 예: @Controller, @RestController.
  2. 서비스 계층 (Service Layer)
    • 클라이언트의 요청 사항을 구체적으로 처리하는 계층.
    • 비즈니스 로직이 포함되며, 데이터베이스 접근 전후의 프로세스를 담당한다.
    • 비즈니스 로직: 실제 비즈니스 규칙을 구현한 Java 코드.
  3. 데이터 액세스 계층 (Data Access Layer)
    • 데이터베이스와의 상호작용을 담당하는 계층.
    • 예: JPA, MyBatis.

 

Spring MVC의 주요 역할

  • 요청 처리: 클라이언트로부터 HTTP 요청을 받고, 적절한 컨트롤러로 전달.
  • 응답 생성: 클라이언트가 이해할 수 있는 형식(HTML, JSON 등)으로 응답 반환.
  • URL 매핑: 요청된 URL을 컨트롤러와 연결. (@RequestMapping, @GetMapping 등).
  • 서블릿과의 통합: 서블릿 API를 활용해 요청-응답 주기를 관리.

 

Spring MVC의 장점

  • 유연성: 다양한 형식의 요청과 응답 처리 가능 (REST API, HTML 등).
  • 모듈화: 컨트롤러, 서비스, 데이터 액세스 계층으로 코드가 분리되어 유지보수가 쉬움.
  • 서블릿의 확장: 서블릿 API를 기반으로 하면서도 더 높은 수준의 추상화를 제공.