Spring MVC란?
Spring MVC는 스프링 프레임워크에서 서블릿 API를 기반으로 웹 계층을 담당하는 모듈이다.
일반적으로 Spring Web MVC 또는 간단히 Spring MVC 프레임워크라고 부른다. 이 모듈은 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 한다.
서블릿이란?
서블릿(Servlet)은 클라이언트의 요청을 처리하고, 적절한 응답을 반환하도록 설계된 Java 클래스 파일이다.
- 서블릿은 자바로 작성되며, 서블릿 컨테이너(예: 아파치 톰캣)에 의해 실행된다.
- 톰캣은 서블릿 실행 환경을 제공하는 대표적인 서블릿 컨테이너 중 하나다.
Spring MVC의 주요 계층
- 컨트롤러 계층 (Controller Layer)
- 클라이언트의 요청을 수신하고, 서비스 계층으로 전달하거나 뷰를 반환한다.
- 예: @Controller, @RestController.
- 서비스 계층 (Service Layer)
- 클라이언트의 요청 사항을 구체적으로 처리하는 계층.
- 비즈니스 로직이 포함되며, 데이터베이스 접근 전후의 프로세스를 담당한다.
- 비즈니스 로직: 실제 비즈니스 규칙을 구현한 Java 코드.
- 데이터 액세스 계층 (Data Access Layer)
- 데이터베이스와의 상호작용을 담당하는 계층.
- 예: JPA, MyBatis.
Spring MVC의 주요 역할
- 요청 처리: 클라이언트로부터 HTTP 요청을 받고, 적절한 컨트롤러로 전달.
- 응답 생성: 클라이언트가 이해할 수 있는 형식(HTML, JSON 등)으로 응답 반환.
- URL 매핑: 요청된 URL을 컨트롤러와 연결. (@RequestMapping, @GetMapping 등).
- 서블릿과의 통합: 서블릿 API를 활용해 요청-응답 주기를 관리.
Spring MVC의 장점
- 유연성: 다양한 형식의 요청과 응답 처리 가능 (REST API, HTML 등).
- 모듈화: 컨트롤러, 서비스, 데이터 액세스 계층으로 코드가 분리되어 유지보수가 쉬움.
- 서블릿의 확장: 서블릿 API를 기반으로 하면서도 더 높은 수준의 추상화를 제공.
'spring > 그 외 알게 된 것' 카테고리의 다른 글
| JDBC와 JPA (0) | 2024.06.25 |
|---|---|
| URI 와 URL은 뭐가 다를까 (0) | 2024.06.18 |
| 백엔드에서 API의 의미; 왜 API개발자라고 할까 (0) | 2024.06.17 |
| JDBC들어가기전 용어 정리 (0) | 2024.06.15 |
| 왜 수동 Bean 등록에서도 어노테이션을 사용하는가? (0) | 2024.06.05 |