<목차>
- Spring MVC
- 3계층 아키텍처
Model-View-Controller (MVC) 패턴을 기반으로 한 웹 애플리케이션 개발을 돕는 프레임워크.
- Controller
- 사용자의 요청을 받아 처리하고, Model-View 사이를 연결한다.
- HTTP 요청을 받아서 처리하고, 필요한 데이터를 Model에 전달한다. 그 후 결과를 View로 전달한다.
- Model
- 데이터와 비즈니스 로직을 담당한다. 데이터베이스와 연동하거나 데이터를 처리하는 역할을 한다.
- 모델 객체는 Controller를 통해 데이터를 제공하고, View에서 그 데이터를 사용할 수 있게 한다.
- View
- 사용자가 보는 화면을 담당한다. 일반적으로 JSP, Thymeleaf, Freemarker 같은 템플릿 엔진을 사용해 구현된다.

- Presentation Layer ( ->
Controller/View)- Business Logic Layer (->
Service= Model)- Data Access Layer (->
Repository= Model)
1. Presentation 계층 (Presentation Layer)
Controller가 사용자의 요청을 받아들이고, 비즈니스 로직을 호출한다. View는 그 결과를 클라이언트에 보여준다.2. 비즈니스 계층 (Business Logic Layer)
service 계층으로, 애플리케이션의 핵심 비즈니스 로직을 담당한다.Repository(DAO)를 호출하여 데이터를 처리한 후, 그 결과를 Controller에 전달한다.3. 데이터 접근 계층 (Data Access Layer)
Repository(DAO) 계층으로, 데이터베이스와 직접적으로 상호작용하는 계층이다.CRUD(Create, Read, Update, Delete) 작업을 수행하고, 데이터를 Service 계층에 제공한다. JPA, Hibernate, JDBC 같은 데이터베이스 접근 기술을 사용해 데이터베이스와 상호작용한다.