본문 바로가기
☕Java/Spring

[20210827] Spring Web MVC 모델 정리

by 캔 2021. 8. 27.

스프링 프레임워크에서 웹 MVC는 Controller, Service, DAO, DTO로 구성된다.

 

Controller

컨트롤러(애너테이션은 @Controller)는 사용자의 요청(request)을 "어떻게" 처리할지 결정한다. 다시 말해, 사용자의 요청이 들어오면 메서드를 호출하여 실행할지를 결정한다. 여기서 메서드는 비즈니스 로직들을 담고 있다. 즉, 컨트롤러는 사용자가 서버에 요청을 보내면 그 요청이 들어왔을 때 수행할 작업들을 담고 있다.

 

presentation layer

 

Service

Service(애너테이션은 @Service) - 요청에 대해 "어떤" 처리를 할지 결정한다. 컨트롤러에서 세부적인 비즈니스 로직을 분리해놓았다. 이 세분화된 비즈니스 로직들은 DAO를 사용하여 사용자의 요청에 맞는 작업을 처리한다.

 

business layer

 

DAO(Data Access Object)

DAO(애너테이션은 @Repository)는 DB에 접근하기 위한 객체이다. 데이터 조회, 조작(DQL, DML)을 수행한다. DB에 Connection을 생성하고 SQL문을 실행하고 ResultSet을 받아오는 등의 작업을 하나의 메서드로 작성하여 쉽게 사용할 수 있도록 하게 한다. Connection 생성을 줄여서 서버의 오버헤드를 줄여준다.(Connection Pooling)

 

persisent layer

 

DTO

DTO(Data Transfer Object) - 데이터 전송을 위한 객체이다. DBMS와 서버 간에 데이터를 주고받을 때 사용하는 양식이다. 자바 빈즈이며, 변수들과 생성자, getter, setter로 이루어져 있다.