For the complete documentation index, see llms.txt. This page is also available as Markdown.

Spring MVC

MVC(Model, View, Controller)는 애플리케이션 파이프라인을 3가지로 구분하여 역할에 맞게 개발하는 방식이며, Spring MVC는 그 모델을 Spring에서 구현한 프레임워크입니다.

MVC에서는 사용자의 요청을 Controller → Service → DAO/Mapper → DB → DTO에 매핑 → DAO → Service → Controller 순서로 처리합니다.

예를 들어서 id를 기반으로 게시글을 구분하는 게시판에 사용자가 접근했다고 했을 때, 각 단계별로 아래와 같은 코드로 구현되어 있습니다.

Controller

/board/detail 엔드포인트로 접근하는 GET 메서드 요청을 받고 boardService.getBoardDetail을 호출

@Controller
public class BoardController {

    private BoardService boardService;

    @GetMapping("/board/detail")
    @ResponseBody
    public BoardDto detail(@RequestParam int id) {
        return boardService.getBoardDetail(id);
    }
}

Service

전달된 id 식별값이 올바른 경우 boardDao.selectBoard 를 호출

DAO

JDBC 혹은 SQL Mapper 등을 통해 DB에 접근하고, SQL 실행 결과로 매핑된 DTO 반환

SQL Mapper

Board 네임스페이스에 selectBoard를 정의해두고, DAO로 인해 호출되면 저장해둔 쿼리를 실행

DTO

실행된 결과를 담는 객체 역할

Last updated